Files
sure/app/views/subscriptions/upgrade.html.erb
UberDudePL cebdf1d4f7 Polish localization: complete translations, pluralization fixes, and reusable locale audit tooling (#1356)
* Add production-ready Polish localization and reusable locale audit tooling

- add and update Polish locale files across models, views, mailers, and shared translations
- add runtime rails-i18n dependency and Polish locale support in language helper
- add regression coverage for Polish pluralization and locale-aware money formatting
- introduce reusable locale audit script for any locale plus backward-compatible PL wrapper
- add localization audit docs and generated PL readiness/pluralization reports
- resolve one/few/many/other pluralization consistency for Polish locales

* Fix Polish locale review feedback

* Fix locale compatibility regressions

* Polish locale typo pass and wrapper cleanup

* Final language improvements and test isolation for Polish locales

- Improved partial_success wording in SnapTrade with proper noun inflection
- Fixed typos: Pomin → Pomiń in Mercury and LunchFlow items
- Isolated I18n backend state in polish_pluralization_test to prevent test coupling

* Fix code review comments in locale audit scripts

- Use RbConfig.ruby instead of 'ruby' to ensure consistent interpreter
- Remove Symbol from permitted_classes and explicitly allow CLDR plural symbols (one, few, many, other) in YAML loading

* Simplify i18n flow and align locale interpolation keys

* Remove locale audit scripts and localization docs
2026-04-07 11:55:58 +02:00

63 lines
2.3 KiB
Plaintext

<div class="flex flex-col h-full justify-between bg-surface">
<nav class="p-4">
<h1 class="sr-only">Upgrade</h1>
<div class="flex justify-end gap-2">
<%= render DS::Link.new(
text: "Account Settings",
icon: "settings",
variant: "ghost",
href: settings_profile_path,
) %>
<%= render DS::Button.new(
text: "Sign out",
icon: "log-out",
icon_position: :right,
variant: "ghost",
href: session_path(Current.session),
method: :delete
) %>
</div>
</nav>
<div class="grow flex flex-col items-center justify-center">
<%= image_tag "logo-color.png", class: "w-16 mb-6" %>
<% if Current.family.trialing? %>
<p class="text-xl lg:text-3xl text-primary font-display font-medium"><%= t("subscriptions.upgrade.trialing", count: Current.family.days_left_in_trial, days: Current.family.days_left_in_trial) %></p>
<% else %>
<p class="text-xl lg:text-3xl text-primary font-display font-medium"><%= t("subscriptions.upgrade.trial_over") %></p>
<% end %>
<h2 class="text-xl lg:text-3xl font-display font-medium mb-2">
<span class="text-secondary"><%= t("subscriptions.upgrade.header.support") %></span>
<span class="bg-gradient-to-r from-[#EABE7F] to-[#957049] bg-clip-text text-transparent"><%= t("subscriptions.upgrade.header.sure") %></span>
<span class="text-secondary"><%= t("subscriptions.upgrade.header.today") %></span>
</h2>
<p class="text-sm text-secondary mb-8"><%= t("subscriptions.upgrade.cta") %></p>
<%= form_with url: new_subscription_path, method: :get, class: "max-w-xs", data: { turbo: false } do |form| %>
<div class="space-y-4 mb-6">
<%= render "subscriptions/plan_choice", form: form, plan: "annual", checked: @plan == "annual" %>
<%= render "subscriptions/plan_choice", form: form, plan: "monthly", checked: @plan == "monthly" %>
</div>
<div class="text-center space-y-2">
<%= render DS::Button.new(
text: t("subscriptions.upgrade.contribute_and_support_sure"),
variant: "primary",
full_width: true
) %>
<p class="text-xs text-secondary">
<%= t("subscriptions.upgrade.redirect_to_stripe") %>
</p>
</div>
<% end %>
</div>
<%= render "layouts/shared/footer" %>
</div>