From 4e425ce4e535ab4235b0eb4301c9def6400956ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Jos=C3=A9=20Mata?= Date: Wed, 21 Jan 2026 20:45:04 +0100 Subject: [PATCH] Add option for FOSS contribution payments (#730) * First commit * Use subscription flow for monetary contributions * Removed only part of the SPAN * Localize Stripe payments message * More localization of contribution strings * Missed two billing to payment changes * Fix tests * Localization of "Open Demo" strings * Fix grammar error * Update for consistency * Localize CTA * More localilzation strings --- app/controllers/subscriptions_controller.rb | 2 +- app/models/subscription.rb | 8 +-- app/views/layouts/application.html.erb | 6 +- app/views/onboardings/trial.html.erb | 71 +++---------------- app/views/settings/payments/show.html.erb | 14 ++-- app/views/subscriptions/_plan_choice.html.erb | 10 +-- app/views/subscriptions/upgrade.html.erb | 16 ++--- config/locales/views/layout/ca.yml | 4 ++ config/locales/views/layout/de.yml | 4 ++ config/locales/views/layout/en.yml | 4 ++ config/locales/views/layout/es.yml | 4 ++ config/locales/views/layout/fr.yml | 4 ++ config/locales/views/layout/nb.yml | 4 ++ config/locales/views/layout/nl.yml | 4 ++ config/locales/views/layout/pt-BR.yml | 4 ++ config/locales/views/layout/ro.yml | 4 ++ config/locales/views/layout/tr.yml | 4 ++ config/locales/views/layout/zh-CN.yml | 4 ++ config/locales/views/layout/zh-TW.yml | 4 ++ config/locales/views/settings/ca.yml | 4 ++ config/locales/views/settings/de.yml | 4 ++ config/locales/views/settings/en.yml | 10 ++- config/locales/views/settings/es.yml | 4 ++ config/locales/views/settings/fr.yml | 4 ++ config/locales/views/settings/nb.yml | 4 ++ config/locales/views/settings/nl.yml | 4 ++ config/locales/views/settings/pt-BR.yml | 4 ++ config/locales/views/settings/ro.yml | 4 ++ config/locales/views/settings/tr.yml | 4 ++ config/locales/views/settings/zh-CN.yml | 4 ++ config/locales/views/settings/zh-TW.yml | 4 ++ config/locales/views/subscriptions/ca.yml | 10 +++ config/locales/views/subscriptions/de.yml | 10 +++ config/locales/views/subscriptions/en.yml | 10 +++ config/locales/views/subscriptions/es.yml | 10 +++ config/locales/views/subscriptions/fr.yml | 10 +++ config/locales/views/subscriptions/nb.yml | 12 +++- config/locales/views/subscriptions/nl.yml | 10 +++ config/locales/views/subscriptions/pt-BR.yml | 10 +++ config/locales/views/subscriptions/ro.yml | 12 +++- config/locales/views/subscriptions/tr.yml | 12 +++- config/locales/views/subscriptions/zh-CN.yml | 10 +++ config/locales/views/subscriptions/zh-TW.yml | 10 +++ test/system/onboardings_test.rb | 2 +- 44 files changed, 259 insertions(+), 98 deletions(-) diff --git a/app/controllers/subscriptions_controller.rb b/app/controllers/subscriptions_controller.rb index d0a7dc123..d45ef093f 100644 --- a/app/controllers/subscriptions_controller.rb +++ b/app/controllers/subscriptions_controller.rb @@ -5,7 +5,7 @@ class SubscriptionsController < ApplicationController # Upgrade page for unsubscribed users def upgrade if Current.family.subscription&.active? - redirect_to root_path, notice: "You are already subscribed." + redirect_to root_path, notice: "You are already contributing. Thank you!" else @plan = params[:plan] || "annual" render layout: "onboardings" diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 90b5303d0..0cdad97fb 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -1,5 +1,5 @@ class Subscription < ApplicationRecord - TRIAL_DAYS = 14 + TRIAL_DAYS = 45 belongs_to :family @@ -28,11 +28,11 @@ class Subscription < ApplicationRecord def name case interval when "month" - "Monthly Plan" + "Monthly Contribution" when "year" - "Annual Plan" + "Annual Contribution" else - "Free trial" + "Open demo" end end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 887341812..4346ead77 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -91,12 +91,12 @@
-

Free trial

-

<%= Current.family.days_left_in_trial %> days remaining

+

<%= t("layouts.trial.open_demo") %>

+

<%= t("layouts.trial.data_deleted_in_days", days: Current.family.days_left_in_trial) %>

<%= render DS::Link.new( - text: "Upgrade", + text: t("layouts.trial.contribute"), href: upgrade_subscription_path, ) %>
diff --git a/app/views/onboardings/trial.html.erb b/app/views/onboardings/trial.html.erb index f23fafec4..6c0df397d 100644 --- a/app/views/onboardings/trial.html.erb +++ b/app/views/onboardings/trial.html.erb @@ -17,21 +17,21 @@ <%= image_tag "logo-color.png", class: "w-16 mb-6" %>

- Try Sure for 14 days. + Try Sure for 45 days

- No credit card required + Data will be deleted then

- Starting the trial activates your account for Sure. You won't need to enter payment details. + Starting today you can give the product a good look.
If you like it, self-host or contribute to continue using it here.

<% if Current.family.can_start_trial? %> <%= render DS::Button.new( - text: "Try Sure for 14 days", + text: "Try Sure for 45 days", href: subscription_path, full_width: true, data: { turbo: false } @@ -53,7 +53,7 @@
-

How your trial will work

+

How things work here

@@ -65,70 +65,19 @@

Today

-

You'll get free access to Sure for 14 days

+

You'll get free access to Sure for 45 days on our AWS.

-

In 13 days (<%= 13.days.from_now.strftime("%B %d") %>)

-

We'll notify you to remind you when your trial will end.

+

In 40 days (<%= 40.days.from_now.strftime("%B %d") %>)

+

We'll notify you to remind you to export your data.

-

In 14 days (<%= 14.days.from_now.strftime("%B %d") %>)

-

Your trial ends — subscribe to continue using Sure

+

In 45 days (<%= 45.days.from_now.strftime("%B %d") %>)

+

We delete your data — contribute to continue using Sure here!

- -
-

Here's what's included

- -
-
- <%= render DS::FilledIcon.new(icon: "landmark", variant: :surface) %> -

More than 10,000 institutions to connect to

-
- -
- <%= render DS::FilledIcon.new(icon: "layers", variant: :surface) %> -

Connect unlimited accounts and account types

-
- -
- <%= render DS::FilledIcon.new(icon: "chart-line", variant: :surface) %> -

Performance and investment returns across portfolio

-
- -
- <%= render DS::FilledIcon.new(icon: "credit-card", variant: :surface) %> -

Comprehensive transaction tracking experience

-
- -
- <%= render "chats/ai_avatar" %> -

Unlimited access and chats with Sure AI

-
- -
- <%= render DS::FilledIcon.new(icon: "keyboard", variant: :surface) %> -

Manual account tracking that works well

-
- -
- <%= render DS::FilledIcon.new(icon: "globe-2", variant: :surface) %> -

Multiple currencies and near global coverage

-
- -
- <%= render DS::FilledIcon.new(icon: "ship", variant: :surface) %> -

Early access to newly released features

-
- -
- <%= render DS::FilledIcon.new(icon: "messages-square", variant: :surface) %> -

Priority human support from team

-
-
-
diff --git a/app/views/settings/payments/show.html.erb b/app/views/settings/payments/show.html.erb index 86a539505..a202f5a7d 100644 --- a/app/views/settings/payments/show.html.erb +++ b/app/views/settings/payments/show.html.erb @@ -13,22 +13,22 @@
<% if @family.has_active_subscription? %>

- You are currently subscribed to the <%= @family.subscription.name %>. + Currently on the <%= @family.subscription.name %>. <% if @family.next_payment_date %> - Your plan renews on <%= @family.next_payment_date.strftime("%B %d, %Y") %>. + <%= t("views.settings.payments.renewal", date: l(@family.next_payment_date, format: :long)) %> <% end %>

<% elsif @family.trialing? %>

- You are currently trialing <%= product_name %> + Currently using the open demo of <%= product_name %>
- (<%= @family.days_left_in_trial %> days remaining) + (Data will be deleted in <%= @family.days_left_in_trial %> days)

<% else %> -

You are currently not subscribed

-

Once you subscribe to <%= product_name %>, you'll see your payment settings here.

+

You are currently not contributing

+

Contributions to <%= product_name %> will show here.

<% end %>
@@ -44,7 +44,7 @@ ) %> <% else %> <%= render DS::Link.new( - text: "Choose plan", + text: "Choose level", variant: "primary", icon: "plus", icon_position: "right", diff --git a/app/views/subscriptions/_plan_choice.html.erb b/app/views/subscriptions/_plan_choice.html.erb index b1a2b5eb2..07d07c5b5 100644 --- a/app/views/subscriptions/_plan_choice.html.erb +++ b/app/views/subscriptions/_plan_choice.html.erb @@ -1,6 +1,6 @@ <%# locals: (plan:, form:, checked: false) %> -<% price = plan == "annual" ? 90 : 9 %> +<% price = plan == "annual" ? 25 : 2.50 %> <% frequency = plan == "annual" ? "/year" : "/month" %>
@@ -14,17 +14,13 @@

$<%= price %><%= frequency %>

- - <% if plan == "annual" %> - or <%= Money.new(price.to_f / 52).format %>/week - <% end %>

<% if plan == "annual" %> - Billed annually, 2 months free + Charged annually <% else %> - Billed monthly + Charged monthly <% end %>

<% end %> diff --git a/app/views/subscriptions/upgrade.html.erb b/app/views/subscriptions/upgrade.html.erb index c0a31f56c..beda06883 100644 --- a/app/views/subscriptions/upgrade.html.erb +++ b/app/views/subscriptions/upgrade.html.erb @@ -25,18 +25,18 @@ <%= image_tag "logo-color.png", class: "w-16 mb-6" %> <% if Current.family.trialing? %> -

Your trial has <%= Current.family.days_left_in_trial %> days remaining

+

<%= t('subscriptions.upgrade.trialing', days: Current.family.days_left_in_trial) %>

<% else %> -

Your trial is over

+

<%= t('subscriptions.upgrade.trial_over') %>

<% end %>

- Unlock - Sure - today + <%= t('subscriptions.upgrade.header.support') %> + <%= t('subscriptions.upgrade.header.sure') %> + <%= t('subscriptions.upgrade.header.today') %>

-

To continue using Sure pick a plan below.

+

<%= t('subscriptions.upgrade.cta') %>

<%= form_with url: new_subscription_path, method: :get, class: "max-w-xs", data: { turbo: false } do |form| %>
@@ -46,13 +46,13 @@
<%= render DS::Button.new( - text: "Subscribe and unlock Sure", + text: t('subscriptions.upgrade.contribute_and_support_sure'), variant: "primary", full_width: true ) %>

- In the next step, you'll be redirected to Stripe which handles our payments. + <%= t('subscriptions.upgrade.redirect_to_stripe') %>

<% end %> diff --git a/config/locales/views/layout/ca.yml b/config/locales/views/layout/ca.yml index 203d74eda..5f6a3b9f8 100644 --- a/config/locales/views/layout/ca.yml +++ b/config/locales/views/layout/ca.yml @@ -17,3 +17,7 @@ ca: footer: privacy_policy: Política de privacitat terms_of_service: Termes del servei + trial: + open_demo: Demo oberta + data_deleted_in_days: Les dades s'eliminaran en %{days} dies + contribute: Contribuir \ No newline at end of file diff --git a/config/locales/views/layout/de.yml b/config/locales/views/layout/de.yml index 34d7cd4c5..219e60f8f 100644 --- a/config/locales/views/layout/de.yml +++ b/config/locales/views/layout/de.yml @@ -18,3 +18,7 @@ de: footer: privacy_policy: Datenschutzrichtlinie terms_of_service: Nutzungsbedingungen + trial: + open_demo: Offene Demo + data_deleted_in_days: Daten werden in %{days} Tagen gelöscht + contribute: Beitragen \ No newline at end of file diff --git a/config/locales/views/layout/en.yml b/config/locales/views/layout/en.yml index d42543c4f..8e41636c0 100644 --- a/config/locales/views/layout/en.yml +++ b/config/locales/views/layout/en.yml @@ -17,3 +17,7 @@ en: footer: privacy_policy: Privacy Policy terms_of_service: Terms of Service + trial: + open_demo: Open demo + data_deleted_in_days: Data deleted in %{days} days + contribute: Contribute \ No newline at end of file diff --git a/config/locales/views/layout/es.yml b/config/locales/views/layout/es.yml index 4baf66e91..bc14dd208 100644 --- a/config/locales/views/layout/es.yml +++ b/config/locales/views/layout/es.yml @@ -17,3 +17,7 @@ es: footer: privacy_policy: Política de privacidad terms_of_service: Términos de servicio + trial: + open_demo: Demo pública + data_deleted_in_days: Los datos se eliminarán en %{days} días + contribute: Contribuir \ No newline at end of file diff --git a/config/locales/views/layout/fr.yml b/config/locales/views/layout/fr.yml index 5a19be01d..fb99e913e 100644 --- a/config/locales/views/layout/fr.yml +++ b/config/locales/views/layout/fr.yml @@ -17,3 +17,7 @@ fr: footer: privacy_policy: Politique de confidentialité terms_of_service: Conditions d'utilisation + trial: + open_demo: Démo ouverte + data_deleted_in_days: Les données seront supprimées dans %{days} jours + contribute: Contribuer \ No newline at end of file diff --git a/config/locales/views/layout/nb.yml b/config/locales/views/layout/nb.yml index 6fa400af8..42aeca716 100644 --- a/config/locales/views/layout/nb.yml +++ b/config/locales/views/layout/nb.yml @@ -17,3 +17,7 @@ nb: footer: privacy_policy: Personvernerklæring terms_of_service: Vilkår for bruk + trial: + open_demo: Åpen demo + data_deleted_in_days: Data slettes om %{days} dager + contribute: Bidra \ No newline at end of file diff --git a/config/locales/views/layout/nl.yml b/config/locales/views/layout/nl.yml index f965ead4f..43bee1c11 100644 --- a/config/locales/views/layout/nl.yml +++ b/config/locales/views/layout/nl.yml @@ -17,3 +17,7 @@ nl: footer: privacy_policy: Privacybeleid terms_of_service: Servicevoorwaarden + trial: + open_demo: Open demo + data_deleted_in_days: Gegevens worden over %{days} dagen verwijderd + contribute: Bijdragen \ No newline at end of file diff --git a/config/locales/views/layout/pt-BR.yml b/config/locales/views/layout/pt-BR.yml index 0274a9b69..580269edf 100644 --- a/config/locales/views/layout/pt-BR.yml +++ b/config/locales/views/layout/pt-BR.yml @@ -17,3 +17,7 @@ pt-BR: footer: privacy_policy: Política de Privacidade terms_of_service: Termos de Serviço + trial: + open_demo: Demo aberta + data_deleted_in_days: Os dados serão excluídos em %{days} dias + contribute: Contribuir \ No newline at end of file diff --git a/config/locales/views/layout/ro.yml b/config/locales/views/layout/ro.yml index 77f6722e4..fc2f35f0a 100644 --- a/config/locales/views/layout/ro.yml +++ b/config/locales/views/layout/ro.yml @@ -18,3 +18,7 @@ ro: footer: privacy_policy: Politica de confidențialitate terms_of_service: Termeni și condiții + trial: + open_demo: Demo deschis + data_deleted_in_days: Datele vor fi șterse în %{days} zile + contribute: Contribuie \ No newline at end of file diff --git a/config/locales/views/layout/tr.yml b/config/locales/views/layout/tr.yml index 7e1abb335..cff503f7c 100644 --- a/config/locales/views/layout/tr.yml +++ b/config/locales/views/layout/tr.yml @@ -17,3 +17,7 @@ tr: footer: privacy_policy: Gizlilik Politikası terms_of_service: Hizmet Şartları + trial: + open_demo: Açık demo + data_deleted_in_days: Veriler %{days} gün içinde silinecek + contribute: Katkıda bulun \ No newline at end of file diff --git a/config/locales/views/layout/zh-CN.yml b/config/locales/views/layout/zh-CN.yml index 84709cfd7..2d22156d1 100644 --- a/config/locales/views/layout/zh-CN.yml +++ b/config/locales/views/layout/zh-CN.yml @@ -18,3 +18,7 @@ zh-CN: footer: privacy_policy: 隐私政策 terms_of_service: 服务条款 + trial: + open_demo: 开放演示 + data_deleted_in_days: 数据将在 %{days} 天后删除 + contribute: 贡献 \ No newline at end of file diff --git a/config/locales/views/layout/zh-TW.yml b/config/locales/views/layout/zh-TW.yml index 0e2b1487e..9c1b4da94 100644 --- a/config/locales/views/layout/zh-TW.yml +++ b/config/locales/views/layout/zh-TW.yml @@ -17,3 +17,7 @@ zh-TW: footer: privacy_policy: 隱私權政策 terms_of_service: 服務條款 + trial: + open_demo: 開放示範 + data_deleted_in_days: 資料將在 %{days} 天後刪除 + contribute: 貢獻 \ No newline at end of file diff --git a/config/locales/views/settings/ca.yml b/config/locales/views/settings/ca.yml index 52317dcbe..53f02260d 100644 --- a/config/locales/views/settings/ca.yml +++ b/config/locales/views/settings/ca.yml @@ -1,5 +1,9 @@ --- ca: + views: + settings: + payments: + renewal: "La teva contribució continua el %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/de.yml b/config/locales/views/settings/de.yml index 0186f2332..3b554daf1 100644 --- a/config/locales/views/settings/de.yml +++ b/config/locales/views/settings/de.yml @@ -1,4 +1,8 @@ de: + views: + settings: + payments: + renewal: "Ihr Beitrag wird fortgesetzt am %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/en.yml b/config/locales/views/settings/en.yml index a24476b7e..871e9cf89 100644 --- a/config/locales/views/settings/en.yml +++ b/config/locales/views/settings/en.yml @@ -1,5 +1,9 @@ --- en: + views: + settings: + payments: + renewal: "Your contribution continues on %{date}." settings: ai_prompts: show: @@ -18,9 +22,9 @@ en: subtitle: AI identifies and enriches transaction data with merchant information payments: show: - page_title: Payment - subscription_subtitle: Update your subscription and payment details - subscription_title: Manage subscription + page_title: Payments + subscription_subtitle: Update your credit card details + subscription_title: Manage contributions preferences: show: country: Country diff --git a/config/locales/views/settings/es.yml b/config/locales/views/settings/es.yml index 2fa0c6ff8..940f5b9fd 100644 --- a/config/locales/views/settings/es.yml +++ b/config/locales/views/settings/es.yml @@ -1,5 +1,9 @@ --- es: + views: + settings: + payments: + renewal: "Tu contribución continúa el %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/fr.yml b/config/locales/views/settings/fr.yml index eefe027e8..ca323fa47 100644 --- a/config/locales/views/settings/fr.yml +++ b/config/locales/views/settings/fr.yml @@ -1,5 +1,9 @@ --- fr: + views: + settings: + payments: + renewal: "Votre contribution se poursuit le %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/nb.yml b/config/locales/views/settings/nb.yml index 3f0e5b78f..4a0fe5eca 100644 --- a/config/locales/views/settings/nb.yml +++ b/config/locales/views/settings/nb.yml @@ -1,5 +1,9 @@ --- nb: + views: + settings: + payments: + renewal: "Bidraget ditt fortsetter den %{date}." settings: payments: show: diff --git a/config/locales/views/settings/nl.yml b/config/locales/views/settings/nl.yml index bc8c99513..05824e565 100644 --- a/config/locales/views/settings/nl.yml +++ b/config/locales/views/settings/nl.yml @@ -1,5 +1,9 @@ --- nl: + views: + settings: + payments: + renewal: "Uw bijdrage wordt voortgezet op %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/pt-BR.yml b/config/locales/views/settings/pt-BR.yml index 8ddef43bb..be3123d45 100644 --- a/config/locales/views/settings/pt-BR.yml +++ b/config/locales/views/settings/pt-BR.yml @@ -1,5 +1,9 @@ --- pt-BR: + views: + settings: + payments: + renewal: "Sua contribuição continua em %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/ro.yml b/config/locales/views/settings/ro.yml index e3c3b66ac..272ff4814 100644 --- a/config/locales/views/settings/ro.yml +++ b/config/locales/views/settings/ro.yml @@ -1,5 +1,9 @@ --- ro: + views: + settings: + payments: + renewal: "Contribuția ta continuă pe %{date}." settings: ai_prompts: show: diff --git a/config/locales/views/settings/tr.yml b/config/locales/views/settings/tr.yml index d8b3a00cb..ad4e7ee54 100644 --- a/config/locales/views/settings/tr.yml +++ b/config/locales/views/settings/tr.yml @@ -1,5 +1,9 @@ --- tr: + views: + settings: + payments: + renewal: "Katkınız %{date} tarihinde devam edecek." settings: payments: show: diff --git a/config/locales/views/settings/zh-CN.yml b/config/locales/views/settings/zh-CN.yml index b541bdcbf..06265ba6f 100644 --- a/config/locales/views/settings/zh-CN.yml +++ b/config/locales/views/settings/zh-CN.yml @@ -1,5 +1,9 @@ --- zh-CN: + views: + settings: + payments: + renewal: "您的贡献将在 %{date} 继续。" settings: ai_prompts: show: diff --git a/config/locales/views/settings/zh-TW.yml b/config/locales/views/settings/zh-TW.yml index 85639c2e1..47a69cf58 100644 --- a/config/locales/views/settings/zh-TW.yml +++ b/config/locales/views/settings/zh-TW.yml @@ -1,5 +1,9 @@ --- zh-TW: + views: + settings: + payments: + renewal: "您的貢獻將於 %{date} 繼續。" settings: ai_prompts: show: diff --git a/config/locales/views/subscriptions/ca.yml b/config/locales/views/subscriptions/ca.yml index 0e7238457..eb162c4ca 100644 --- a/config/locales/views/subscriptions/ca.yml +++ b/config/locales/views/subscriptions/ca.yml @@ -2,3 +2,13 @@ ca: subscriptions: self_hosted_alert: "%{product_name} no està disponible en mode autoallotjat." + upgrade: + contribute_and_support_sure: "Contribuir i donar suport a Sure" + cta: "Continua donant suport al desenvolupament d'aquest codi!" + header: + support: "Suport" + sure: "Sure" + today: "avui" + redirect_to_stripe: "En el proper pas, se us redirigirà a Stripe, que gestiona les targetes de crèdit per nosaltres." + trialing: "Les teves dades s'eliminaran en %{days} dies" + trial_over: "El teu període de prova ha acabat" \ No newline at end of file diff --git a/config/locales/views/subscriptions/de.yml b/config/locales/views/subscriptions/de.yml index ecd8ada7b..116a0e5f1 100644 --- a/config/locales/views/subscriptions/de.yml +++ b/config/locales/views/subscriptions/de.yml @@ -2,3 +2,13 @@ de: subscriptions: self_hosted_alert: "%{product_name} ist im Self-Hosting-Modus nicht verfügbar." + upgrade: + contribute_and_support_sure: "Beitragen und Sure unterstützen" + cta: "Unterstützen Sie weiterhin die Entwicklung dieser Codebasis!" + header: + support: "Unterstützen" + sure: "Sure" + today: "heute" + redirect_to_stripe: "Im nächsten Schritt werden Sie zu Stripe weitergeleitet, das Kreditkarten für uns verwaltet." + trialing: "Ihre Daten werden in %{days} Tagen gelöscht" + trial_over: "Ihre Testversion ist abgelaufen" \ No newline at end of file diff --git a/config/locales/views/subscriptions/en.yml b/config/locales/views/subscriptions/en.yml index 6b51c2740..1cd332897 100644 --- a/config/locales/views/subscriptions/en.yml +++ b/config/locales/views/subscriptions/en.yml @@ -1,3 +1,13 @@ en: subscriptions: self_hosted_alert: "%{product_name} is not available in self-hosted mode." + upgrade: + contribute_and_support_sure: "Contribute and support Sure" + cta: "Continue supporting the development of this codebase!" + header: + support: "Support" + sure: "Sure" + today: "today" + redirect_to_stripe: "In the next step, you'll be redirected to Stripe which handles credit cards for us." + trialing: "Your data will be deleted in %{days} days" + trial_over: "Your trial is over" \ No newline at end of file diff --git a/config/locales/views/subscriptions/es.yml b/config/locales/views/subscriptions/es.yml index fc786b894..a194d24d9 100644 --- a/config/locales/views/subscriptions/es.yml +++ b/config/locales/views/subscriptions/es.yml @@ -2,3 +2,13 @@ es: subscriptions: self_hosted_alert: "%{product_name} no está disponible en modo autoalojado." + upgrade: + contribute_and_support_sure: "Contribuir y apoyar a Sure" + cta: "¡Apoya el desarrollo de este proyecto!" + header: + support: "Apoyar" + sure: "Sure" + today: "hoy" + redirect_to_stripe: "En el siguiente paso, serás redirigido a Stripe, que gestiona las tarjetas de crédito por nosotros." + trialing: "Tus datos se eliminarán en %{days} días" + trial_over: "Tu período de prueba ha terminado" \ No newline at end of file diff --git a/config/locales/views/subscriptions/fr.yml b/config/locales/views/subscriptions/fr.yml index 212de0530..61965fc21 100644 --- a/config/locales/views/subscriptions/fr.yml +++ b/config/locales/views/subscriptions/fr.yml @@ -1,3 +1,13 @@ fr: subscriptions: self_hosted_alert: "%{product_name} n'est pas disponible en mode auto-hébergé." + upgrade: + contribute_and_support_sure: "Contribuer et soutenir Sure" + cta: "Continuez à soutenir le développement de cette base de code !" + header: + support: "Soutenir" + sure: "Sure" + today: "aujourd'hui" + redirect_to_stripe: "Dans l'étape suivante, vous serez redirigé vers Stripe, qui gère les cartes de crédit pour nous." + trialing: "Vos données seront supprimées dans %{days} jours" + trial_over: "Votre période d'essai est terminée" \ No newline at end of file diff --git a/config/locales/views/subscriptions/nb.yml b/config/locales/views/subscriptions/nb.yml index 8272e026d..01ca4675e 100644 --- a/config/locales/views/subscriptions/nb.yml +++ b/config/locales/views/subscriptions/nb.yml @@ -1,4 +1,14 @@ --- nb: subscriptions: - self_hosted_alert: "%{product_name} er ikke tilgjengelig i selvhostet modus." \ No newline at end of file + self_hosted_alert: "%{product_name} er ikke tilgjengelig i selvhostet modus." + upgrade: + contribute_and_support_sure: "Bidra og støtt Sure" + cta: "Fortsett å støtte utviklingen av denne kodebasen!" + header: + support: "Støtt" + sure: "Sure" + today: "i dag" + redirect_to_stripe: "I neste trinn vil du bli omdirigert til Stripe, som håndterer kredittkort for oss." + trialing: "Dataene dine vil bli slettet om %{days} dager" + trial_over: "Prøveperioden din er over" \ No newline at end of file diff --git a/config/locales/views/subscriptions/nl.yml b/config/locales/views/subscriptions/nl.yml index c4cca4e4d..32d7b6ec9 100644 --- a/config/locales/views/subscriptions/nl.yml +++ b/config/locales/views/subscriptions/nl.yml @@ -1,3 +1,13 @@ nl: subscriptions: self_hosted_alert: "%{product_name} is niet beschikbaar in zelfgehoste modus." + upgrade: + contribute_and_support_sure: "Bijdragen en Sure ondersteunen" + cta: "Blijf de ontwikkeling van deze codebase ondersteunen!" + header: + support: "Ondersteunen" + sure: "Sure" + today: "vandaag" + redirect_to_stripe: "In de volgende stap wordt u doorgestuurd naar Stripe, dat creditcards voor ons verwerkt." + trialing: "Uw gegevens worden over %{days} dagen verwijderd" + trial_over: "Uw proefperiode is voorbij" \ No newline at end of file diff --git a/config/locales/views/subscriptions/pt-BR.yml b/config/locales/views/subscriptions/pt-BR.yml index e90823cd4..207229ee8 100644 --- a/config/locales/views/subscriptions/pt-BR.yml +++ b/config/locales/views/subscriptions/pt-BR.yml @@ -2,3 +2,13 @@ pt-BR: subscriptions: self_hosted_alert: "%{product_name} não está disponível no modo self-hosted." + upgrade: + contribute_and_support_sure: "Contribuir e apoiar o Sure" + cta: "Continue apoiando o desenvolvimento desta base de código!" + header: + support: "Apoiar" + sure: "Sure" + today: "hoje" + redirect_to_stripe: "Na próxima etapa, você será redirecionado para o Stripe, que processa cartões de crédito para nós." + trialing: "Seus dados serão excluídos em %{days} dias" + trial_over: "Seu período de teste terminou" \ No newline at end of file diff --git a/config/locales/views/subscriptions/ro.yml b/config/locales/views/subscriptions/ro.yml index 4399f9b2b..70df41555 100644 --- a/config/locales/views/subscriptions/ro.yml +++ b/config/locales/views/subscriptions/ro.yml @@ -1,4 +1,14 @@ --- ro: subscriptions: - self_hosted_alert: "%{product_name} nu este disponibil în modul self-hosted." \ No newline at end of file + self_hosted_alert: "%{product_name} nu este disponibil în modul self-hosted." + upgrade: + contribute_and_support_sure: "Contribuie și sprijină Sure" + cta: "Continuați să sprijiniți dezvoltarea acestei baze de cod!" + header: + support: "Sprijină" + sure: "Sure" + today: "astăzi" + redirect_to_stripe: "În pasul următor, veți fi redirecționat către Stripe, care procesează cardurile de credit pentru noi." + trialing: "Datele dvs. vor fi șterse în %{days} zile" + trial_over: "Perioada dvs. de probă s-a încheiat" \ No newline at end of file diff --git a/config/locales/views/subscriptions/tr.yml b/config/locales/views/subscriptions/tr.yml index 3450c1bf4..416c1b7b2 100644 --- a/config/locales/views/subscriptions/tr.yml +++ b/config/locales/views/subscriptions/tr.yml @@ -1,4 +1,14 @@ --- tr: subscriptions: - self_hosted_alert: "%{product_name} kendi sunucunda barındırılan modda kullanılamaz." \ No newline at end of file + self_hosted_alert: "%{product_name} kendi sunucunda barındırılan modda kullanılamaz." + upgrade: + contribute_and_support_sure: "Katkıda bulun ve Sure'u destekle" + cta: "Bu kod tabanının geliştirilmesini desteklemeye devam edin!" + header: + support: "Destekle" + sure: "Sure" + today: "bugün" + redirect_to_stripe: "Bir sonraki adımda, kredi kartlarını bizim için işleyen Stripe'a yönlendirileceksiniz." + trialing: "Verileriniz %{days} gün içinde silinecek" + trial_over: "Deneme süreniz sona erdi" \ No newline at end of file diff --git a/config/locales/views/subscriptions/zh-CN.yml b/config/locales/views/subscriptions/zh-CN.yml index a410aa6df..41da3c50a 100644 --- a/config/locales/views/subscriptions/zh-CN.yml +++ b/config/locales/views/subscriptions/zh-CN.yml @@ -2,3 +2,13 @@ zh-CN: subscriptions: self_hosted_alert: "%{product_name} 在自托管模式下不可用。" + upgrade: + contribute_and_support_sure: "贡献并支持 Sure" + cta: "继续支持此代码库的开发!" + header: + support: "支持" + sure: "Sure" + today: "今天" + redirect_to_stripe: "在下一步中,您将被重定向到 Stripe,它为我们处理信用卡。" + trialing: "您的数据将在 %{days} 天后删除" + trial_over: "您的试用期已结束" \ No newline at end of file diff --git a/config/locales/views/subscriptions/zh-TW.yml b/config/locales/views/subscriptions/zh-TW.yml index 5aa881e31..25f4b2f86 100644 --- a/config/locales/views/subscriptions/zh-TW.yml +++ b/config/locales/views/subscriptions/zh-TW.yml @@ -2,3 +2,13 @@ zh-TW: subscriptions: self_hosted_alert: "在自行代管模式下不支援 %{product_name}。" + upgrade: + contribute_and_support_sure: "貢獻並支持 Sure" + cta: "繼續支持此程式碼庫的開發!" + header: + support: "支持" + sure: "Sure" + today: "今天" + redirect_to_stripe: "在下一步中,您將被重新導向到 Stripe,它為我們處理信用卡。" + trialing: "您的資料將在 %{days} 天後刪除" + trial_over: "您的試用期已結束" \ No newline at end of file diff --git a/test/system/onboardings_test.rb b/test/system/onboardings_test.rb index 8b06f1174..2bff29bdc 100644 --- a/test/system/onboardings_test.rb +++ b/test/system/onboardings_test.rb @@ -145,7 +145,7 @@ class OnboardingsTest < ApplicationSystemTestCase test "trial page renders correctly" do visit trial_onboarding_path - assert_text "trial" # Adjust based on actual content + assert_text "Try Sure" end test "navigation between onboarding steps" do