diff --git a/app/views/layouts/auth.html.erb b/app/views/layouts/auth.html.erb index 557128a04..c02ee861f 100644 --- a/app/views/layouts/auth.html.erb +++ b/app/views/layouts/auth.html.erb @@ -23,11 +23,11 @@ <% end %> <% if controller_name == "sessions" %> <% elsif controller_name == "registrations" %> <% end %> diff --git a/app/views/oidc_accounts/link.html.erb b/app/views/oidc_accounts/link.html.erb index ae75e6d8e..c97c3cd3f 100644 --- a/app/views/oidc_accounts/link.html.erb +++ b/app/views/oidc_accounts/link.html.erb @@ -1,61 +1,60 @@ <% - header_title @user_exists ? "Link OIDC Account" : "Create Account" + header_title @user_exists ? t("oidc_accounts.link.title_link") : t("oidc_accounts.link.title_create") %> <% if @user_exists %>
-

Verify Your Identity

+

<%= t("oidc_accounts.link.verify_heading") %>

- To link your <%= @pending_auth["provider"] %> account<% if @pending_auth["email"].present? %> (<%= @pending_auth["email"] %>)<% end %>, - please verify your identity by entering your password. + <% email_suffix = @pending_auth["email"].present? ? t("oidc_accounts.link.email_suffix_html", email: @pending_auth["email"]) : "" %> + <%= t("oidc_accounts.link.verify_description_html", provider: @pending_auth["provider"], email_suffix: email_suffix).html_safe %>

<%= styled_form_with url: create_link_oidc_account_path, class: "space-y-4", data: { turbo: false } do |form| %> <%= form.email_field :email, - label: "Email", - autofocus: false, - autocomplete: "email", - required: "required", - placeholder: "Enter your email", - value: @email %> + label: t("oidc_accounts.link.email_label"), + autofocus: false, + autocomplete: "email", + required: "required", + placeholder: t("oidc_accounts.link.email_placeholder"), + value: @email %> <%= form.password_field :password, - label: "Password", - required: "required", - placeholder: "Enter your password", - autocomplete: "current-password" %> + label: t("oidc_accounts.link.password_label"), + required: "required", + placeholder: t("oidc_accounts.link.password_placeholder"), + autocomplete: "current-password" %>
-

This helps ensure that only you can link external accounts to your profile.

+

<%= t("oidc_accounts.link.verify_hint") %>

- <%= form.submit "Link Account" %> + <%= form.submit t("oidc_accounts.link.submit_link") %> <% end %> <% else %>
-

Create New Account

+

<%= t("oidc_accounts.link.create_heading") %>

- No account found with the email <%= @pending_auth["email"] %>. - Click below to create a new account using your <%= @pending_auth["provider"] %> identity. + <%= t("oidc_accounts.link.create_description_html", email: @pending_auth["email"], provider: @pending_auth["provider"]).html_safe %>

- Email: <%= @pending_auth["email"] %> + <%= t("oidc_accounts.link.info_email") %> <%= @pending_auth["email"] %>

<% if @pending_auth["name"].present? %>

- Name: <%= @pending_auth["name"] %> + <%= t("oidc_accounts.link.info_name") %> <%= @pending_auth["name"] %>

<% end %>
<% if @allow_account_creation %> <%= render DS::Button.new( - text: "Create Account", + text: t("oidc_accounts.link.submit_create"), href: create_user_oidc_account_path, full_width: true, variant: :primary, @@ -72,9 +71,9 @@
<%= render DS::Link.new( - text: "Cancel", + text: t("oidc_accounts.link.cancel"), href: new_session_path, variant: :default, class: "font-medium text-sm text-primary hover:underline transition" ) %> -
+
\ No newline at end of file diff --git a/app/views/onboardings/_logout.html.erb b/app/views/onboardings/_logout.html.erb index 09d631c0a..8227bfea5 100644 --- a/app/views/onboardings/_logout.html.erb +++ b/app/views/onboardings/_logout.html.erb @@ -1,8 +1,8 @@ - <%= render DS::Button.new( - text: "Sign out", - icon: "log-out", - icon_position: :right, - variant: "ghost", - href: session_path(Current.session), - method: :delete - ) %> +<%= render DS::Button.new( + text: t("onboardings.logout.sign_out"), + icon: "log-out", + icon_position: :right, + variant: "ghost", + href: session_path(Current.session), + method: :delete +) %> diff --git a/app/views/onboardings/_onboarding_nav.html.erb b/app/views/onboardings/_onboarding_nav.html.erb index 7a2e010ad..4259bd505 100644 --- a/app/views/onboardings/_onboarding_nav.html.erb +++ b/app/views/onboardings/_onboarding_nav.html.erb @@ -1,10 +1,10 @@ <%# locals: (user:) %> <% steps = [ - { name: "Setup", path: onboarding_path, is_complete: user.first_name.present?, step_number: 1 }, - { name: "Preferences", path: preferences_onboarding_path, is_complete: user.set_onboarding_preferences_at.present?, step_number: 2 }, - { name: "Goals", path: goals_onboarding_path , is_complete: user.set_onboarding_goals_at.present?, step_number: 3 }, - { name: "Start", path: trial_onboarding_path, is_complete: user.onboarded?, step_number: 4 }, + { name: t("onboardings.header.setup"), path: onboarding_path, is_complete: user.first_name.present?, step_number: 1 }, + { name: t("onboardings.header.preferences"), path: preferences_onboarding_path, is_complete: user.set_onboarding_preferences_at.present?, step_number: 2 }, + { name: t("onboardings.header.goals"), path: goals_onboarding_path, is_complete: user.set_onboarding_goals_at.present?, step_number: 3 }, + { name: t("onboardings.header.start"), path: trial_onboarding_path, is_complete: user.onboarded?, step_number: 4 }, ] %> <%# Don't show last step if self hosted %> diff --git a/app/views/onboardings/goals.html.erb b/app/views/onboardings/goals.html.erb index 7333a86fe..646a892d1 100644 --- a/app/views/onboardings/goals.html.erb +++ b/app/views/onboardings/goals.html.erb @@ -15,8 +15,8 @@
-

What brings you here?

-

Select one or more goals that you have with using <%= product_name %> as your personal finance tool.

+

<%= t("onboardings.goals.title") %>

+

<%= t("onboardings.goals.subtitle", product_name: product_name) %>

<%= form_with model: @user do |form| %> @@ -26,15 +26,15 @@
<% [ - { icon: "layers", label: "See all my accounts in one place", value: "unified_accounts" }, - { icon: "banknote", label: "Understand cashflow and expenses", value: "cashflow" }, - { icon: "pie-chart", label: "Manage financial plans and budgeting", value: "budgeting" }, - { icon: "users", label: "Manage finances with a partner", value: "partner" }, - { icon: "area-chart", label: "Track investments", value: "investments" }, - { icon: "bot", label: "Let AI help me understand my finances", value: "ai_insights" }, - { icon: "settings-2", label: "Analyze and optimize accounts", value: "optimization" }, - { icon: "frown", label: "Reduce financial stress or anxiety", value: "reduce_stress" } - ].each do |goal| %> + { icon: "layers", label: t("onboardings.goals.unified_accounts"), value: "unified_accounts" }, + { icon: "banknote", label: t("onboardings.goals.cashflow"), value: "cashflow" }, + { icon: "pie-chart", label: t("onboardings.goals.budgeting"), value: "budgeting" }, + { icon: "users", label: t("onboardings.goals.partner"), value: "partner" }, + { icon: "area-chart", label: t("onboardings.goals.investments"), value: "investments" }, + { icon: "bot", label: t("onboardings.goals.ai_insights"), value: "ai_insights" }, + { icon: "settings-2", label: t("onboardings.goals.optimization"), value: "optimization" }, + { icon: "frown", label: t("onboardings.goals.reduce_stress"), value: "reduce_stress" } + ].each do |goal| %>
<% placeholder_series_data = [ - { date: Date.current - 14.days, value: 200 }, - { date: Date.current - 13.days, value: 200 }, - { date: Date.current - 12.days, value: 220 }, - { date: Date.current - 11.days, value: 220 }, - { date: Date.current - 10.days, value: 220 }, - { date: Date.current - 9.days, value: 220 }, - { date: Date.current - 8.days, value: 220 }, - { date: Date.current - 7.days, value: 220 }, - { date: Date.current - 6.days, value: 230 }, - { date: Date.current - 5.days, value: 230 }, - { date: Date.current - 4.days, value: 250 }, - { date: Date.current - 3.days, value: 250 }, - { date: Date.current - 2.days, value: 265 }, - { date: Date.current - 1.day, value: 265 }, - { date: Date.current, value: 265 } - ] %> + { date: Date.current - 14.days, value: 200 }, + { date: Date.current - 13.days, value: 200 }, + { date: Date.current - 12.days, value: 220 }, + { date: Date.current - 11.days, value: 220 }, + { date: Date.current - 10.days, value: 220 }, + { date: Date.current - 9.days, value: 220 }, + { date: Date.current - 8.days, value: 220 }, + { date: Date.current - 7.days, value: 220 }, + { date: Date.current - 6.days, value: 230 }, + { date: Date.current - 5.days, value: 230 }, + { date: Date.current - 4.days, value: 250 }, + { date: Date.current - 3.days, value: 250 }, + { date: Date.current - 2.days, value: 265 }, + { date: Date.current - 1.day, value: 265 }, + { date: Date.current, value: 265 } + ] %> <% placeholder_series = Series.from_raw_values(placeholder_series_data) %>
+ id="previewChart" + class="h-full w-full" + data-controller="time-series-chart" + data-time-series-chart-data-value="<%= placeholder_series.to_json %>" + data-time-series-chart-use-labels-value="false" + data-time-series-chart-use-tooltip-value="false">
@@ -68,26 +68,26 @@ <%= form.hidden_field :redirect_to, value: "goals" %>
- <%= form.select :theme, [["System", "system"], ["Light", "light"], ["Dark", "dark"]], { label: "Color theme" }, data: { action: "onboarding#setTheme" } %> + <%= form.select :theme, [[t(".theme_system"), "system"], [t(".theme_light"), "light"], [t(".theme_dark"), "dark"]], { label: t(".color_theme") }, data: { action: "onboarding#setTheme" } %>
<%= form.fields_for :family do |family_form| %> <%= family_form.select :locale, - language_options, - { label: t(".locale"), required: true, selected: params[:locale] || @user.locale || I18n.locale }, - { data: { action: "onboarding#setLocale" } } %> + language_options, + { label: t(".locale"), required: true, selected: params[:locale] || @user.locale || I18n.locale }, + { data: { action: "onboarding#setLocale" } } %> <%= family_form.select :currency, - Money::Currency.as_options.map { |currency| [ "#{currency.name} (#{currency.iso_code})", currency.iso_code ] }, - { label: t(".currency"), required: true, selected: params[:currency] || @user.family.currency }, - { data: { action: "onboarding#setCurrency" } } %> + Money::Currency.as_options.map { |currency| [ "#{currency.name} (#{currency.iso_code})", currency.iso_code ] }, + { label: t(".currency"), required: true, selected: params[:currency] || @user.family.currency }, + { data: { action: "onboarding#setCurrency" } } %> <%= family_form.select :date_format, - Family::DATE_FORMATS, - { label: t(".date_format"), required: true, selected: params[:date_format] || @user.family.date_format }, - { data: { action: "onboarding#setDateFormat" } } %> + Family::DATE_FORMATS, + { label: t(".date_format"), required: true, selected: params[:date_format] || @user.family.date_format }, + { data: { action: "onboarding#setDateFormat" } } %> <% end %>
diff --git a/app/views/onboardings/show.html.erb b/app/views/onboardings/show.html.erb index 4ebe9bd37..29c55444f 100644 --- a/app/views/onboardings/show.html.erb +++ b/app/views/onboardings/show.html.erb @@ -13,8 +13,8 @@
-

Let's set up your account

-

First things first, let's get your profile set up.

+

<%= t(".title") %>

+

<%= t(".subtitle") %>

<%= styled_form_with model: @user do |form| %> @@ -26,24 +26,24 @@
- <%= form.text_field :first_name, placeholder: "First name", label: "First name", container_class: "bg-container md:w-1/2 w-full", required: true %> - <%= form.text_field :last_name, placeholder: "Last name", label: "Last name", container_class: "bg-container md:w-1/2 w-full", required: true %> + <%= form.text_field :first_name, placeholder: t(".first_name_placeholder"), label: t(".first_name"), container_class: "bg-container md:w-1/2 w-full", required: true %> + <%= form.text_field :last_name, placeholder: t(".last_name_placeholder"), label: t(".last_name"), container_class: "bg-container md:w-1/2 w-full", required: true %>
<% unless @invitation %>
<%= form.fields_for :family do |family_form| %> - <%= family_form.text_field :name, placeholder: "Household name", label: "Household name" %> + <%= family_form.text_field :name, placeholder: t(".household_name_placeholder"), label: t(".household_name") %> <%= family_form.select :country, - country_options, - { label: "Country" }, - required: true %> + country_options, + { label: t(".country") }, + required: true %> <% end %>
<% end %> - <%= form.submit "Continue" %> + <%= form.submit t(".submit") %> <% end %>
diff --git a/app/views/onboardings/trial.html.erb b/app/views/onboardings/trial.html.erb index 6c0df397d..2793b1416 100644 --- a/app/views/onboardings/trial.html.erb +++ b/app/views/onboardings/trial.html.erb @@ -17,43 +17,43 @@ <%= image_tag "logo-color.png", class: "w-16 mb-6" %>

- Try Sure for 45 days + <%= t(".title") %>

- Data will be deleted then + <%= t(".data_deletion") %>

- Starting today you can give the product a good look.
If you like it, self-host or contribute to continue using it here. + <%= t(".description_html").html_safe %>

<% if Current.family.can_start_trial? %> <%= render DS::Button.new( - text: "Try Sure for 45 days", - href: subscription_path, - full_width: true, - data: { turbo: false } - ) %> + text: t(".try_button"), + href: subscription_path, + full_width: true, + data: { turbo: false } + ) %> <% elsif Current.family.trialing? %> <%= render DS::Link.new( - text: "Continue trial", + text: t(".continue_trial"), href: root_path, full_width: true, - ) %> + ) %> <% else %> <%= render DS::Link.new( - text: "Upgrade", + text: t(".upgrade"), href: upgrade_subscription_path, full_width: true, - ) %> + ) %> <% end %>
-

How things work here

+

<%= t(".how_it_works") %>

@@ -64,18 +64,18 @@
-

Today

-

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

+

<%= t(".today") %>

+

<%= t(".today_description") %>

-

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

-

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

+

<%= t(".in_40_days", date: l(40.days.from_now.to_date, format: :long)) %>

+

<%= t(".in_40_days_description") %>

-

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

-

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

+

<%= t(".in_45_days", date: l(45.days.from_now.to_date, format: :long)) %>

+

<%= t(".in_45_days_description") %>

diff --git a/app/views/registrations/new.html.erb b/app/views/registrations/new.html.erb index f1fb414ae..9c811087c 100644 --- a/app/views/registrations/new.html.erb +++ b/app/views/registrations/new.html.erb @@ -74,19 +74,19 @@
<%= icon("check", size: "sm") %> - Minimum 8 characters + <%= t(".password_requirements.length") %>
<%= icon("check", size: "sm") %> - Upper and lowercase letters + <%= t(".password_requirements.case") %>
<%= icon("check", size: "sm") %> - A number (0-9) + <%= t(".password_requirements.number") %>
<%= icon("check", size: "sm") %> - A special character (!, @, #, $, %, etc) + <%= t(".password_requirements.special") %>
diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index ce92c5e54..c51f4977a 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -80,7 +80,7 @@ <% if provider[:icon].present? %> <%= icon provider[:icon], size: "sm" %> <% end %> - <%= provider[:label].presence || provider[:name].to_s.titleize %> + <%= provider[:label].presence || t(".#{provider_id}", default: provider[:name].to_s.titleize) %> <% end %> <% end %> <% end %> diff --git a/config/auth.yml b/config/auth.yml index ebcbc6ea0..162364ea6 100644 --- a/config/auth.yml +++ b/config/auth.yml @@ -35,7 +35,7 @@ default: &default - id: "oidc" strategy: "openid_connect" name: "openid_connect" - label: <%= ENV.fetch("OIDC_BUTTON_LABEL", "Sign in with OpenID Connect") %> + label: <%= ENV.fetch("OIDC_BUTTON_LABEL", "") %> icon: <%= ENV.fetch("OIDC_BUTTON_ICON", "key") %> # Per-provider credentials (optional, falls back to global OIDC_* vars) issuer: <%= ENV["OIDC_ISSUER"] %> diff --git a/config/locales/views/oidc_accounts/ca.yml b/config/locales/views/oidc_accounts/ca.yml index 27f6429a7..06ad64409 100644 --- a/config/locales/views/oidc_accounts/ca.yml +++ b/config/locales/views/oidc_accounts/ca.yml @@ -2,4 +2,32 @@ ca: oidc_accounts: link: - account_creation_disabled: La creació de comptes nous mitjançant inici de sessió únic està inhabilitada. Contacta amb un administrador per crear el teu compte. + title_link: Enllaçar compte OIDC + title_create: Crear compte + verify_heading: Verificar la vostra identitat + verify_description_html: "Per enllaçar el vostre compte %{provider}%{email_suffix}, verifiqueu la vostra identitat introduint la contrasenya." + email_suffix_html: " (%{email})" + email_label: Correu electrònic + email_placeholder: Introduïu el vostre correu electrònic + password_label: Contrasenya + password_placeholder: Introduïu la vostra contrasenya + verify_hint: Això garanteix que només vós pugueu enllaçar comptes externs al vostre perfil. + submit_link: Enllaçar compte + create_heading: Crear compte nou + create_description_html: "No s'ha trobat cap compte amb el correu electrònic %{email}. Feu clic a baix per crear un compte nou amb la vostra identitat %{provider}." + info_email: "Correu electrònic:" + info_name: "Nom:" + submit_create: Crear compte + account_creation_disabled: La creació de comptes mitjançant l'inici de sessió únic està desactivada. Contacteu amb un administrador. + cancel: Cancel·lar + new_user: + title: Completar el compte + heading: Crear el compte + description: Confirmeu les vostres dades per completar la creació del compte amb la vostra identitat %{provider}. + email_label: Correu electrònic (del proveïdor SSO) + first_name_label: Nom + first_name_placeholder: Introduïu el vostre nom + last_name_label: Cognom + last_name_placeholder: Introduïu el vostre cognom + submit: Crear compte + cancel: Cancel·lar \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/de.yml b/config/locales/views/oidc_accounts/de.yml new file mode 100644 index 000000000..476197ec0 --- /dev/null +++ b/config/locales/views/oidc_accounts/de.yml @@ -0,0 +1,33 @@ +--- +de: + oidc_accounts: + link: + title_link: OIDC-Konto verknüpfen + title_create: Konto erstellen + verify_heading: Identität bestätigen + verify_description_html: "Um Ihr %{provider}-Konto%{email_suffix} zu verknüpfen, bestätigen Sie bitte Ihre Identität mit Ihrem Passwort." + email_suffix_html: " (%{email})" + email_label: E-Mail + email_placeholder: E-Mail-Adresse eingeben + password_label: Passwort + password_placeholder: Passwort eingeben + verify_hint: Dies stellt sicher, dass nur Sie externe Konten mit Ihrem Profil verknüpfen können. + submit_link: Konto verknüpfen + create_heading: Neues Konto erstellen + create_description_html: "Kein Konto mit der E-Mail %{email} gefunden. Klicken Sie unten, um ein neues Konto mit Ihrer %{provider}-Identität zu erstellen." + info_email: "E-Mail:" + info_name: "Name:" + submit_create: Konto erstellen + account_creation_disabled: Die Kontoerstellung über Single Sign-On ist deaktiviert. Bitte kontaktieren Sie einen Administrator. + cancel: Abbrechen + new_user: + title: Konto vervollständigen + heading: Konto erstellen + description: Bitte bestätigen Sie Ihre Daten, um die Kontoerstellung mit Ihrer %{provider}-Identität abzuschließen. + email_label: E-Mail (vom SSO-Anbieter) + first_name_label: Vorname + first_name_placeholder: Vorname eingeben + last_name_label: Nachname + last_name_placeholder: Nachname eingeben + submit: Konto erstellen + cancel: Abbrechen \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/en.yml b/config/locales/views/oidc_accounts/en.yml index 618baf7e2..4ed91677c 100644 --- a/config/locales/views/oidc_accounts/en.yml +++ b/config/locales/views/oidc_accounts/en.yml @@ -2,7 +2,24 @@ en: oidc_accounts: link: + title_link: Link OIDC Account + title_create: Create Account + verify_heading: Verify Your Identity + verify_description_html: "To link your %{provider} account%{email_suffix}, please verify your identity by entering your password." + email_suffix_html: " (%{email})" + email_label: Email + email_placeholder: Enter your email + password_label: Password + password_placeholder: Enter your password + verify_hint: This helps ensure that only you can link external accounts to your profile. + submit_link: Link Account + create_heading: Create New Account + create_description_html: "No account found with the email %{email}. Click below to create a new account using your %{provider} identity." + info_email: "Email:" + info_name: "Name:" + submit_create: Create Account account_creation_disabled: New account creation via single sign-on is disabled. Please contact an administrator to create your account. + cancel: Cancel new_user: title: Complete Your Account heading: Create Your Account diff --git a/config/locales/views/oidc_accounts/es.yml b/config/locales/views/oidc_accounts/es.yml new file mode 100644 index 000000000..22d9dd914 --- /dev/null +++ b/config/locales/views/oidc_accounts/es.yml @@ -0,0 +1,33 @@ +--- +es: + oidc_accounts: + link: + title_link: Vincular cuenta OIDC + title_create: Crear cuenta + verify_heading: Verificar su identidad + verify_description_html: "Para vincular su cuenta de %{provider}%{email_suffix}, verifique su identidad ingresando su contraseña." + email_suffix_html: " (%{email})" + email_label: Correo electrónico + email_placeholder: Ingrese su correo electrónico + password_label: Contraseña + password_placeholder: Ingrese su contraseña + verify_hint: Esto garantiza que solo usted pueda vincular cuentas externas a su perfil. + submit_link: Vincular cuenta + create_heading: Crear cuenta nueva + create_description_html: "No se encontró ninguna cuenta con el correo electrónico %{email}. Haga clic a continuación para crear una cuenta nueva con su identidad de %{provider}." + info_email: "Correo electrónico:" + info_name: "Nombre:" + submit_create: Crear cuenta + account_creation_disabled: La creación de cuentas mediante inicio de sesión único está desactivada. Contacte a un administrador. + cancel: Cancelar + new_user: + title: Completar su cuenta + heading: Crear su cuenta + description: Confirme sus datos para completar la creación de cuenta con su identidad de %{provider}. + email_label: Correo electrónico (del proveedor SSO) + first_name_label: Nombre + first_name_placeholder: Ingrese su nombre + last_name_label: Apellido + last_name_placeholder: Ingrese su apellido + submit: Crear cuenta + cancel: Cancelar \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/fr.yml b/config/locales/views/oidc_accounts/fr.yml index b06a5d3dd..9260f97af 100644 --- a/config/locales/views/oidc_accounts/fr.yml +++ b/config/locales/views/oidc_accounts/fr.yml @@ -2,4 +2,32 @@ fr: oidc_accounts: link: - account_creation_disabled: La création de nouveaux comptes via l'authentification unique est désactivée. Veuillez contacter un administrateur pour créer votre compte. + title_link: Associer un compte OIDC + title_create: Créer un compte + verify_heading: Vérifier votre identité + verify_description_html: "Pour associer votre compte %{provider}%{email_suffix}, veuillez vérifier votre identité en saisissant votre mot de passe." + email_suffix_html: " (%{email})" + email_label: Adresse e-mail + email_placeholder: Saisissez votre adresse e-mail + password_label: Mot de passe + password_placeholder: Saisissez votre mot de passe + verify_hint: Cela garantit que vous seul pouvez associer des comptes externes à votre profil. + submit_link: Associer le compte + create_heading: Créer un nouveau compte + create_description_html: "Aucun compte trouvé avec l'adresse e-mail %{email}. Cliquez ci-dessous pour créer un nouveau compte avec votre identité %{provider}." + info_email: "E-mail :" + info_name: "Nom :" + submit_create: Créer un compte + account_creation_disabled: La création de compte via l'authentification unique est désactivée. Veuillez contacter un administrateur. + cancel: Annuler + new_user: + title: Compléter votre compte + heading: Créer votre compte + description: Veuillez confirmer vos informations pour finaliser la création de compte avec votre identité %{provider}. + email_label: E-mail (du fournisseur SSO) + first_name_label: Prénom + first_name_placeholder: Saisissez votre prénom + last_name_label: Nom de famille + last_name_placeholder: Saisissez votre nom de famille + submit: Créer un compte + cancel: Annuler \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/nb.yml b/config/locales/views/oidc_accounts/nb.yml new file mode 100644 index 000000000..806d3735f --- /dev/null +++ b/config/locales/views/oidc_accounts/nb.yml @@ -0,0 +1,33 @@ +--- +nb: + oidc_accounts: + link: + title_link: Koble til OIDC-konto + title_create: Opprett konto + verify_heading: Bekreft identiteten din + verify_description_html: "For å koble til %{provider}-kontoen din%{email_suffix}, bekreft identiteten din ved å skrive inn passordet ditt." + email_suffix_html: " (%{email})" + email_label: E-postadresse + email_placeholder: Skriv inn e-postadressen din + password_label: Passord + password_placeholder: Skriv inn passordet ditt + verify_hint: Dette sikrer at bare du kan koble eksterne kontoer til profilen din. + submit_link: Koble til konto + create_heading: Opprett ny konto + create_description_html: "Ingen konto funnet med e-postadressen %{email}. Klikk nedenfor for å opprette en ny konto med din %{provider}-identitet." + info_email: "E-post:" + info_name: "Navn:" + submit_create: Opprett konto + account_creation_disabled: Kontooppretting via enkel pålogging er deaktivert. Kontakt en administrator. + cancel: Avbryt + new_user: + title: Fullfør kontoen din + heading: Opprett kontoen din + description: Bekreft opplysningene dine for å fullføre kontoopprettingen med din %{provider}-identitet. + email_label: E-post (fra SSO-leverandør) + first_name_label: Fornavn + first_name_placeholder: Skriv inn fornavnet ditt + last_name_label: Etternavn + last_name_placeholder: Skriv inn etternavnet ditt + submit: Opprett konto + cancel: Avbryt \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/nl.yml b/config/locales/views/oidc_accounts/nl.yml index b0c510dd9..31b48587c 100644 --- a/config/locales/views/oidc_accounts/nl.yml +++ b/config/locales/views/oidc_accounts/nl.yml @@ -2,11 +2,28 @@ nl: oidc_accounts: link: - account_creation_disabled: Nieuwe accountaanmaak via single sign-on is uitgeschakeld. Neem contact op met een beheerder om uw account aan te maken. + title_link: OIDC-account koppelen + title_create: Account aanmaken + verify_heading: Verifieer uw identiteit + verify_description_html: "Om uw %{provider}-account%{email_suffix} te koppelen, verifieert u uw identiteit door uw wachtwoord in te voeren." + email_suffix_html: " (%{email})" + email_label: E-mailadres + email_placeholder: Voer uw e-mailadres in + password_label: Wachtwoord + password_placeholder: Voer uw wachtwoord in + verify_hint: Dit zorgt ervoor dat alleen u externe accounts aan uw profiel kunt koppelen. + submit_link: Account koppelen + create_heading: Nieuw account aanmaken + create_description_html: "Geen account gevonden met het e-mailadres %{email}. Klik hieronder om een nieuw account aan te maken met uw %{provider}-identiteit." + info_email: "E-mail:" + info_name: "Naam:" + submit_create: Account aanmaken + account_creation_disabled: Het aanmaken van accounts via single sign-on is uitgeschakeld. Neem contact op met een beheerder. + cancel: Annuleren new_user: - title: Voltooi uw account + title: Account voltooien heading: Account aanmaken - description: Bevestig uw gegevens om het aanmaken van uw account met uw %{provider} identiteit te voltooien. + description: Bevestig uw gegevens om het aanmaken van uw account met uw %{provider}-identiteit te voltooien. email_label: E-mail (van SSO-provider) first_name_label: Voornaam first_name_placeholder: Voer uw voornaam in diff --git a/config/locales/views/oidc_accounts/pt-BR.yml b/config/locales/views/oidc_accounts/pt-BR.yml new file mode 100644 index 000000000..791f8a1e7 --- /dev/null +++ b/config/locales/views/oidc_accounts/pt-BR.yml @@ -0,0 +1,33 @@ +--- +pt-BR: + oidc_accounts: + link: + title_link: Vincular conta OIDC + title_create: Criar conta + verify_heading: Verificar sua identidade + verify_description_html: "Para vincular sua conta %{provider}%{email_suffix}, verifique sua identidade digitando sua senha." + email_suffix_html: " (%{email})" + email_label: E-mail + email_placeholder: Digite seu e-mail + password_label: Senha + password_placeholder: Digite sua senha + verify_hint: Isso garante que apenas você possa vincular contas externas ao seu perfil. + submit_link: Vincular conta + create_heading: Criar nova conta + create_description_html: "Nenhuma conta encontrada com o e-mail %{email}. Clique abaixo para criar uma nova conta usando sua identidade %{provider}." + info_email: "E-mail:" + info_name: "Nome:" + submit_create: Criar conta + account_creation_disabled: A criação de contas via login único está desativada. Entre em contato com um administrador. + cancel: Cancelar + new_user: + title: Completar sua conta + heading: Criar sua conta + description: Confirme seus dados para concluir a criação da conta com sua identidade %{provider}. + email_label: E-mail (do provedor SSO) + first_name_label: Nome + first_name_placeholder: Digite seu nome + last_name_label: Sobrenome + last_name_placeholder: Digite seu sobrenome + submit: Criar conta + cancel: Cancelar \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/ro.yml b/config/locales/views/oidc_accounts/ro.yml new file mode 100644 index 000000000..55cc8fe31 --- /dev/null +++ b/config/locales/views/oidc_accounts/ro.yml @@ -0,0 +1,33 @@ +--- +ro: + oidc_accounts: + link: + title_link: Asociază contul OIDC + title_create: Creează cont + verify_heading: Verifică-ți identitatea + verify_description_html: "Pentru a asocia contul tău %{provider}%{email_suffix}, verifică-ți identitatea introducând parola." + email_suffix_html: " (%{email})" + email_label: Adresă de e-mail + email_placeholder: Introdu adresa de e-mail + password_label: Parolă + password_placeholder: Introdu parola + verify_hint: Aceasta asigură că doar tu poți asocia conturi externe la profilul tău. + submit_link: Asociază contul + create_heading: Creează cont nou + create_description_html: "Nu a fost găsit niciun cont cu adresa de e-mail %{email}. Apasă mai jos pentru a crea un cont nou cu identitatea ta %{provider}." + info_email: "E-mail:" + info_name: "Nume:" + submit_create: Creează cont + account_creation_disabled: Crearea conturilor prin autentificare unică este dezactivată. Contactează un administrator. + cancel: Anulează + new_user: + title: Finalizează contul + heading: Creează-ți contul + description: Confirmă datele tale pentru a finaliza crearea contului cu identitatea ta %{provider}. + email_label: E-mail (de la furnizorul SSO) + first_name_label: Prenume + first_name_placeholder: Introdu prenumele + last_name_label: Nume de familie + last_name_placeholder: Introdu numele de familie + submit: Creează cont + cancel: Anulează \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/tr.yml b/config/locales/views/oidc_accounts/tr.yml new file mode 100644 index 000000000..d7f0d6e28 --- /dev/null +++ b/config/locales/views/oidc_accounts/tr.yml @@ -0,0 +1,33 @@ +--- +tr: + oidc_accounts: + link: + title_link: OIDC Hesabını Bağla + title_create: Hesap Oluştur + verify_heading: Kimliğinizi Doğrulayın + verify_description_html: "%{provider} hesabınızı%{email_suffix} bağlamak için şifrenizi girerek kimliğinizi doğrulayın." + email_suffix_html: " (%{email})" + email_label: E-posta + email_placeholder: E-posta adresinizi girin + password_label: Şifre + password_placeholder: Şifrenizi girin + verify_hint: Bu, yalnızca sizin harici hesapları profilinize bağlayabilmenizi sağlar. + submit_link: Hesabı Bağla + create_heading: Yeni Hesap Oluştur + create_description_html: "%{email} e-posta adresiyle bir hesap bulunamadı. %{provider} kimliğinizle yeni bir hesap oluşturmak için aşağıya tıklayın." + info_email: "E-posta:" + info_name: "Ad:" + submit_create: Hesap Oluştur + account_creation_disabled: Tek oturum açma ile hesap oluşturma devre dışı bırakıldı. Lütfen bir yöneticiyle iletişime geçin. + cancel: İptal + new_user: + title: Hesabınızı Tamamlayın + heading: Hesabınızı Oluşturun + description: "%{provider} kimliğinizle hesap oluşturmayı tamamlamak için bilgilerinizi onaylayın." + email_label: E-posta (SSO sağlayıcısından) + first_name_label: Ad + first_name_placeholder: Adınızı girin + last_name_label: Soyad + last_name_placeholder: Soyadınızı girin + submit: Hesap Oluştur + cancel: İptal \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/zh-CN.yml b/config/locales/views/oidc_accounts/zh-CN.yml new file mode 100644 index 000000000..06668b929 --- /dev/null +++ b/config/locales/views/oidc_accounts/zh-CN.yml @@ -0,0 +1,33 @@ +--- +zh-CN: + oidc_accounts: + link: + title_link: 关联 OIDC 账户 + title_create: 创建账户 + verify_heading: 验证您的身份 + verify_description_html: "要关联您的 %{provider} 账户%{email_suffix},请输入密码验证您的身份。" + email_suffix_html: "(%{email})" + email_label: 电子邮箱 + email_placeholder: 请输入您的电子邮箱 + password_label: 密码 + password_placeholder: 请输入您的密码 + verify_hint: 这可确保只有您本人能够将外部账户关联到您的个人资料。 + submit_link: 关联账户 + create_heading: 创建新账户 + create_description_html: "未找到使用电子邮箱 %{email} 的账户。点击下方使用您的 %{provider} 身份创建新账户。" + info_email: 电子邮箱: + info_name: 姓名: + submit_create: 创建账户 + account_creation_disabled: 通过单点登录创建账户已禁用。请联系管理员。 + cancel: 取消 + new_user: + title: 完善您的账户 + heading: 创建您的账户 + description: 请确认您的信息以完成使用 %{provider} 身份创建账户。 + email_label: 电子邮箱(来自 SSO 提供商) + first_name_label: 名 + first_name_placeholder: 请输入您的名 + last_name_label: 姓 + last_name_placeholder: 请输入您的姓 + submit: 创建账户 + cancel: 取消 \ No newline at end of file diff --git a/config/locales/views/oidc_accounts/zh-TW.yml b/config/locales/views/oidc_accounts/zh-TW.yml index 5a26ed67e..c643168fb 100644 --- a/config/locales/views/oidc_accounts/zh-TW.yml +++ b/config/locales/views/oidc_accounts/zh-TW.yml @@ -2,4 +2,32 @@ zh-TW: oidc_accounts: link: - account_creation_disabled: 透過單一登入建立新帳戶的功能已被禁用。請聯絡管理員為您建立帳戶。 + title_link: 連結 OIDC 帳戶 + title_create: 建立帳戶 + verify_heading: 驗證您的身分 + verify_description_html: "若要連結您的 %{provider} 帳戶%{email_suffix},請輸入密碼驗證您的身分。" + email_suffix_html: "(%{email})" + email_label: 電子郵件 + email_placeholder: 請輸入您的電子郵件 + password_label: 密碼 + password_placeholder: 請輸入您的密碼 + verify_hint: 這可確保只有您本人能夠將外部帳戶連結到您的個人檔案。 + submit_link: 連結帳戶 + create_heading: 建立新帳戶 + create_description_html: "找不到使用電子郵件 %{email} 的帳戶。點擊下方使用您的 %{provider} 身分建立新帳戶。" + info_email: 電子郵件: + info_name: 姓名: + submit_create: 建立帳戶 + account_creation_disabled: 透過單一登入建立帳戶已停用。請聯絡管理員。 + cancel: 取消 + new_user: + title: 完成您的帳戶 + heading: 建立您的帳戶 + description: 請確認您的資訊以完成使用 %{provider} 身分建立帳戶。 + email_label: 電子郵件(來自 SSO 提供者) + first_name_label: 名 + first_name_placeholder: 請輸入您的名 + last_name_label: 姓 + last_name_placeholder: 請輸入您的姓 + submit: 建立帳戶 + cancel: 取消 \ No newline at end of file diff --git a/config/locales/views/onboardings/ca.yml b/config/locales/views/onboardings/ca.yml index 9e2cdf146..9036a1efe 100644 --- a/config/locales/views/onboardings/ca.yml +++ b/config/locales/views/onboardings/ca.yml @@ -2,27 +2,60 @@ ca: onboardings: header: - sign_out: Tanca la sessió + sign_out: Tancar sessió + setup: Configuració + preferences: Preferències + goals: Objectius + start: Inici + logout: + sign_out: Tancar sessió + show: + title: Configurem el teu compte + subtitle: Primer de tot, completem el teu perfil. + first_name: Nom + first_name_placeholder: Nom + last_name: Cognom + last_name_placeholder: Cognom + household_name: Nom de la llar + household_name_placeholder: Nom de la llar + country: País + submit: Continuar preferences: + title: Configura les teves preferències + subtitle: Configurem les teves preferències. + example: Compte d'exemple + preview: Previsualitza com es mostren les dades segons les preferències. + color_theme: Tema de colors + theme_system: Sistema + theme_light: Clar + theme_dark: Fosc + locale: Idioma currency: Moneda date_format: Format de data - example: Compte d'exemple - locale: Idioma - preview: Previsualitza com es mostren les dades segons les preferències. - submit: Completa - subtitle: Configurem les teves preferències. - title: Configura les teves preferències - profile: - country: País - first_name: Nom - household_name: Nom de la llar - last_name: Cognom - profile_image: Imatge de perfil - submit: Continua - subtitle: Completem el teu perfil. - title: Configurem el més bàsic - show: - message: Estem molt contents que siguis aquí. Al següent pas et farem unes preguntes - per completar el teu perfil i deixar-ho tot a punt. - setup: Configura el compte - title: Benvingut/da a %{product_name} + submit: Completar + goals: + title: Què t'ha portat aquí? + subtitle: Selecciona un o més objectius que tens amb %{product_name} com a eina de finances personals. + unified_accounts: Veure tots els meus comptes en un sol lloc + cashflow: Entendre el flux de caixa i les despeses + budgeting: Gestionar plans financers i pressupostos + partner: Gestionar finances amb la parella + investments: Seguir les inversions + ai_insights: Deixar que la IA m'ajudi a entendre les meves finances + optimization: Analitzar i optimitzar comptes + reduce_stress: Reduir l'estrès financer o l'ansietat + submit: Següent + trial: + title: Prova Sure durant 45 dies + data_deletion: Les dades s'eliminaran després + description_html: A partir d'avui pots provar el producte a fons.
Si t'agrada, allotja'l tu mateix o contribueix per continuar usant-lo aquí. + try_button: Provar Sure durant 45 dies + continue_trial: Continuar la prova + upgrade: Actualitzar + how_it_works: Com funciona + today: Avui + today_description: Tindràs accés gratuït a Sure durant 45 dies al nostre AWS. + in_40_days: En 40 dies (%{date}) + in_40_days_description: Et notificarem per recordar-te d'exportar les teves dades. + in_45_days: En 45 dies (%{date}) + in_45_days_description: Eliminarem les teves dades — contribueix per continuar usant Sure aquí! \ No newline at end of file diff --git a/config/locales/views/onboardings/de.yml b/config/locales/views/onboardings/de.yml index 79c46bcee..845e9a3fb 100644 --- a/config/locales/views/onboardings/de.yml +++ b/config/locales/views/onboardings/de.yml @@ -3,25 +3,59 @@ de: onboardings: header: sign_out: Abmelden + setup: Setup + preferences: Einstellungen + goals: Ziele + start: Start + logout: + sign_out: Abmelden + show: + title: Lass uns dein Konto einrichten + subtitle: Zuerst vervollständigen wir dein Profil. + first_name: Vorname + first_name_placeholder: Vorname + last_name: Nachname + last_name_placeholder: Nachname + household_name: Haushaltsname + household_name_placeholder: Haushaltsname + country: Land + submit: Weiter preferences: + title: Einstellungen konfigurieren + subtitle: Lass uns deine Einstellungen konfigurieren. + example: Beispielkonto + preview: Vorschau wie deine Daten basierend auf den Einstellungen angezeigt werden. + color_theme: Farbschema + theme_system: System + theme_light: Hell + theme_dark: Dunkel + locale: Sprache currency: Währung date_format: Datumsformat - example: Beispielkonto - locale: Sprache - preview: Vorschau wie deine Daten basierend auf den Einstellungen angezeigt werden submit: Abschließen - subtitle: Lass uns deine Einstellungen konfigurieren - title: Einstellungen konfigurieren - profile: - country: Land - first_name: Vorname - household_name: Haushaltsname - last_name: Nachname - profile_image: Profilbild + goals: + title: Was sind deine Ziele? + subtitle: Wähle ein oder mehrere Ziele aus, die du mit %{product_name} als dein persönliches Finanztool erreichen möchtest. + unified_accounts: Alle meine Konten an einem Ort sehen + cashflow: Cashflow und Ausgaben verstehen + budgeting: Finanzpläne und Budgets verwalten + partner: Finanzen gemeinsam mit Partner verwalten + investments: Investments verfolgen + ai_insights: KI nutzen um Einblicke zu erhalten + optimization: Konten analysieren und optimieren + reduce_stress: Finanziellen Stress reduzieren submit: Weiter - subtitle: Lass uns dein Profil vervollständigen - title: Lass uns die Grundlagen einrichten - show: - message: Wir freuen uns sehr dass du hier bist Im nächsten Schritt stellen wir dir ein paar Fragen um dein Profil zu vervollständigen und alles für dich einzurichten - setup: Konto einrichten - title: Willkommen bei %{product_name} + trial: + title: Sure 45 Tage kostenlos testen + data_deletion: Daten werden danach gelöscht + description_html: Ab heute kannst du das Produkt ausgiebig testen.
Wenn es dir gefällt, hoste es selbst oder unterstütze uns, um es hier weiter zu nutzen. + try_button: Sure 45 Tage testen + continue_trial: Testversion fortsetzen + upgrade: Upgrade + how_it_works: So funktioniert es + today: Heute + today_description: Du erhältst 45 Tage kostenlos Zugang zu Sure auf unserer AWS. + in_40_days: In 40 Tagen (%{date}) + in_40_days_description: Wir erinnern dich daran, deine Daten zu exportieren. + in_45_days: In 45 Tagen (%{date}) + in_45_days_description: Wir löschen deine Daten — unterstütze uns, um Sure hier weiter zu nutzen! \ No newline at end of file diff --git a/config/locales/views/onboardings/en.yml b/config/locales/views/onboardings/en.yml index 498aab469..296c0b80c 100644 --- a/config/locales/views/onboardings/en.yml +++ b/config/locales/views/onboardings/en.yml @@ -2,27 +2,60 @@ en: onboardings: header: - sign_out: Log out + sign_out: Sign out + setup: Setup + preferences: Preferences + goals: Goals + start: Start + logout: + sign_out: Sign out + show: + title: Let's set up your account + subtitle: First things first, let's get your profile set up. + first_name: First name + first_name_placeholder: First name + last_name: Last name + last_name_placeholder: Last name + household_name: Household name + household_name_placeholder: Household name + country: Country + submit: Continue preferences: + title: Configure your preferences + subtitle: Let's configure your preferences. + example: Example account + preview: Preview how data displays based on preferences. + color_theme: Color theme + theme_system: System + theme_light: Light + theme_dark: Dark + locale: Language currency: Currency date_format: Date format - example: Example account - locale: Language - preview: Preview how data displays based on preferences. submit: Complete - subtitle: Let's configure your preferences. - title: Configure your preferences - profile: - country: Country - first_name: First Name - household_name: Household Name - last_name: Last Name - profile_image: Profile Image - submit: Continue - subtitle: Let's complete your profile. - title: Let's set up the basics - show: - message: We’re really excited you’re here. In the next step we’ll ask you a - few questions to complete your profile and then get you all set up. - setup: Set up account - title: Meet %{product_name} + goals: + title: What brings you here? + subtitle: Select one or more goals that you have with using %{product_name} as your personal finance tool. + unified_accounts: See all my accounts in one place + cashflow: Understand cashflow and expenses + budgeting: Manage financial plans and budgeting + partner: Manage finances with a partner + investments: Track investments + ai_insights: Let AI help me understand my finances + optimization: Analyze and optimize accounts + reduce_stress: Reduce financial stress or anxiety + submit: Next + trial: + title: Try Sure for 45 days + data_deletion: Data will be deleted then + description_html: Starting today you can give the product a good look.
If you like it, self-host or contribute to continue using it here. + try_button: Try Sure for 45 days + continue_trial: Continue trial + upgrade: Upgrade + how_it_works: How things work here + today: Today + today_description: You'll get free access to Sure for 45 days on our AWS. + in_40_days: In 40 days (%{date}) + in_40_days_description: We'll notify you to remind you to export your data. + in_45_days: In 45 days (%{date}) + in_45_days_description: We delete your data — contribute to continue using Sure here! \ No newline at end of file diff --git a/config/locales/views/onboardings/es.yml b/config/locales/views/onboardings/es.yml index 7c8265ac6..1fc48268a 100644 --- a/config/locales/views/onboardings/es.yml +++ b/config/locales/views/onboardings/es.yml @@ -3,26 +3,59 @@ es: onboardings: header: sign_out: Cerrar sesión + setup: Configuración + preferences: Preferencias + goals: Objetivos + start: Inicio + logout: + sign_out: Cerrar sesión + show: + title: Configuremos tu cuenta + subtitle: Primero, completemos tu perfil. + first_name: Nombre + first_name_placeholder: Nombre + last_name: Apellido + last_name_placeholder: Apellido + household_name: Nombre del hogar + household_name_placeholder: Nombre del hogar + country: País + submit: Continuar preferences: + title: Configura tus preferencias + subtitle: Configuremos tus preferencias. + example: Cuenta de ejemplo + preview: Vista previa de cómo se muestran los datos según las preferencias. + color_theme: Tema de color + theme_system: Sistema + theme_light: Claro + theme_dark: Oscuro + locale: Idioma currency: Moneda date_format: Formato de fecha - example: Cuenta de ejemplo - locale: Idioma - preview: Previsualiza cómo se muestran los datos según tus preferencias. submit: Completar - subtitle: Vamos a configurar tus preferencias. - title: Configura tus preferencias - profile: - country: País - first_name: Nombre - household_name: Nombre del grupo familiar - last_name: Apellidos - profile_image: Imagen de perfil - submit: Continuar - subtitle: Vamos a completar tu perfil. - title: Vamos a configurar lo básico - show: - message: Estamos muy emocionados de que estés aquí. En el siguiente paso te - haremos unas preguntas para completar tu perfil y luego configuraremos todo para ti. - setup: Configurar cuenta - title: Bienvenido a %{product_name} + goals: + title: ¿Qué te trae por aquí? + subtitle: Selecciona uno o más objetivos que tienes con %{product_name} como tu herramienta de finanzas personales. + unified_accounts: Ver todas mis cuentas en un solo lugar + cashflow: Entender el flujo de caja y los gastos + budgeting: Gestionar planes financieros y presupuestos + partner: Gestionar finanzas con mi pareja + investments: Seguir las inversiones + ai_insights: Dejar que la IA me ayude a entender mis finanzas + optimization: Analizar y optimizar cuentas + reduce_stress: Reducir el estrés financiero o la ansiedad + submit: Siguiente + trial: + title: Prueba Sure durante 45 días + data_deletion: Los datos se eliminarán después + description_html: A partir de hoy puedes probar el producto a fondo.
Si te gusta, alójalo tú mismo o contribuye para seguir usándolo aquí. + try_button: Probar Sure durante 45 días + continue_trial: Continuar prueba + upgrade: Actualizar + how_it_works: Cómo funciona + today: Hoy + today_description: Tendrás acceso gratuito a Sure durante 45 días en nuestro AWS. + in_40_days: En 40 días (%{date}) + in_40_days_description: Te notificaremos para recordarte exportar tus datos. + in_45_days: En 45 días (%{date}) + in_45_days_description: Eliminamos tus datos — ¡contribuye para seguir usando Sure aquí! \ No newline at end of file diff --git a/config/locales/views/onboardings/fr.yml b/config/locales/views/onboardings/fr.yml index 64c4f3ead..72598204a 100644 --- a/config/locales/views/onboardings/fr.yml +++ b/config/locales/views/onboardings/fr.yml @@ -2,26 +2,60 @@ fr: onboardings: header: - sign_out: Déconnexion - preferences: - currency: Monnaie - date_format: Format de date - example: Compte d'exemple - locale: Langue - preview: Prévisualiser la façon dont les données s'affichent en fonction des préférences. - submit: Terminer - subtitle: Configurons vos préférences. - title: Configurez vos préférences - profile: - country: Pays - first_name: Prénom - household_name: Nom du foyer (si applicable) - last_name: Nom de famille - profile_image: Photo de profil - submit: Continuer - subtitle: Complétons votre profil. - title: Configurons les bases + sign_out: Se déconnecter + setup: Configuration + preferences: Préférences + goals: Objectifs + start: Démarrer + logout: + sign_out: Se déconnecter show: - message: Nous sommes vraiment excités que vous soyez ici. Dans la prochaine étape, nous allons vous poser quelques questions pour compléter votre profil et ensuite configurer votre compte. - setup: Configurer le compte - title: Rencontrez %{product_name} + title: Configurons votre compte + subtitle: Commençons par compléter votre profil. + first_name: Prénom + first_name_placeholder: Prénom + last_name: Nom de famille + last_name_placeholder: Nom de famille + household_name: Nom du foyer + household_name_placeholder: Nom du foyer + country: Pays + submit: Continuer + preferences: + title: Configurez vos préférences + subtitle: Configurons vos préférences. + example: Compte exemple + preview: Aperçu de l'affichage des données selon vos préférences. + color_theme: Thème de couleur + theme_system: Système + theme_light: Clair + theme_dark: Sombre + locale: Langue + currency: Devise + date_format: Format de date + submit: Terminer + goals: + title: Qu'est-ce qui vous amène ici ? + subtitle: Sélectionnez un ou plusieurs objectifs que vous souhaitez atteindre avec %{product_name} comme outil de finances personnelles. + unified_accounts: Voir tous mes comptes en un seul endroit + cashflow: Comprendre les flux de trésorerie et les dépenses + budgeting: Gérer les plans financiers et les budgets + partner: Gérer les finances avec un partenaire + investments: Suivre les investissements + ai_insights: Laisser l'IA m'aider à comprendre mes finances + optimization: Analyser et optimiser les comptes + reduce_stress: Réduire le stress financier ou l'anxiété + submit: Suivant + trial: + title: Essayez Sure pendant 45 jours + data_deletion: Les données seront supprimées ensuite + description_html: À partir d'aujourd'hui, vous pouvez tester le produit en profondeur.
Si vous l'aimez, hébergez-le vous-même ou contribuez pour continuer à l'utiliser ici. + try_button: Essayer Sure pendant 45 jours + continue_trial: Continuer l'essai + upgrade: Mettre à niveau + how_it_works: Comment ça fonctionne + today: Aujourd'hui + today_description: Vous aurez un accès gratuit à Sure pendant 45 jours sur notre AWS. + in_40_days: Dans 40 jours (%{date}) + in_40_days_description: Nous vous notifierons pour vous rappeler d'exporter vos données. + in_45_days: Dans 45 jours (%{date}) + in_45_days_description: Nous supprimons vos données — contribuez pour continuer à utiliser Sure ici ! \ No newline at end of file diff --git a/config/locales/views/onboardings/nb.yml b/config/locales/views/onboardings/nb.yml index 1d0223d61..bac186108 100644 --- a/config/locales/views/onboardings/nb.yml +++ b/config/locales/views/onboardings/nb.yml @@ -3,26 +3,59 @@ nb: onboardings: header: sign_out: Logg ut + setup: Oppsett + preferences: Innstillinger + goals: Mål + start: Start + logout: + sign_out: Logg ut + show: + title: La oss sette opp kontoen din + subtitle: Først, la oss fullføre profilen din. + first_name: Fornavn + first_name_placeholder: Fornavn + last_name: Etternavn + last_name_placeholder: Etternavn + household_name: Husholdningsnavn + household_name_placeholder: Husholdningsnavn + country: Land + submit: Fortsett preferences: + title: Konfigurer innstillingene dine + subtitle: La oss konfigurere innstillingene dine. + example: Eksempelkonto + preview: Forhåndsvisning av hvordan data vises basert på innstillinger. + color_theme: Fargetema + theme_system: System + theme_light: Lys + theme_dark: Mørk + locale: Språk currency: Valuta date_format: Datoformat - example: Eksempelkonto - locale: Språk - preview: Forhåndsvis hvordan data vises basert på preferanser. submit: Fullfør - subtitle: La oss konfigurere preferansene dine. - title: Konfigurer preferansene dine - profile: - country: Land - first_name: Fornavn - household_name: Husholdningsnavn - last_name: Etternavn - profile_image: Profilbilde - submit: Fortsett - subtitle: La oss fullføre profilen din. - title: La oss sette opp det grunnleggende - show: - message: Vi er veldig glade for at du er her. I neste trinn vil vi stille deg noen - spørsmål for å fullføre profilen din og deretter få deg i gang. - setup: Sett opp konto - title: Møt %{product_name} \ No newline at end of file + goals: + title: Hva bringer deg hit? + subtitle: Velg ett eller flere mål du har med %{product_name} som ditt personlige økonomverktøy. + unified_accounts: Se alle kontoene mine på ett sted + cashflow: Forstå kontantstrøm og utgifter + budgeting: Administrere økonomiplaner og budsjetter + partner: Administrere økonomi med en partner + investments: Følge investeringer + ai_insights: La AI hjelpe meg å forstå økonomien min + optimization: Analysere og optimalisere kontoer + reduce_stress: Redusere økonomisk stress eller angst + submit: Neste + trial: + title: Prøv Sure i 45 dager + data_deletion: Data slettes deretter + description_html: Fra i dag kan du teste produktet grundig.
Hvis du liker det, kan du hoste det selv eller bidra for å fortsette å bruke det her. + try_button: Prøv Sure i 45 dager + continue_trial: Fortsett prøveperioden + upgrade: Oppgrader + how_it_works: Slik fungerer det + today: I dag + today_description: Du får gratis tilgang til Sure i 45 dager på vår AWS. + in_40_days: Om 40 dager (%{date}) + in_40_days_description: Vi varsler deg for å minne deg på å eksportere dataene dine. + in_45_days: Om 45 dager (%{date}) + in_45_days_description: Vi sletter dataene dine — bidra for å fortsette å bruke Sure her! \ No newline at end of file diff --git a/config/locales/views/onboardings/nl.yml b/config/locales/views/onboardings/nl.yml index ebe8727b7..8ee999f33 100644 --- a/config/locales/views/onboardings/nl.yml +++ b/config/locales/views/onboardings/nl.yml @@ -3,25 +3,59 @@ nl: onboardings: header: sign_out: Uitloggen + setup: Instellen + preferences: Voorkeuren + goals: Doelen + start: Start + logout: + sign_out: Uitloggen + show: + title: Laten we je account instellen + subtitle: Laten we eerst je profiel voltooien. + first_name: Voornaam + first_name_placeholder: Voornaam + last_name: Achternaam + last_name_placeholder: Achternaam + household_name: Huishoudnaam + household_name_placeholder: Huishoudnaam + country: Land + submit: Doorgaan preferences: + title: Configureer je voorkeuren + subtitle: Laten we je voorkeuren configureren. + example: Voorbeeldaccount + preview: Voorbeeld van hoe gegevens worden weergegeven op basis van voorkeuren. + color_theme: Kleurthema + theme_system: Systeem + theme_light: Licht + theme_dark: Donker + locale: Taal currency: Valuta date_format: Datumformaat - example: Voorbeeldaccount - locale: Taal - preview: Voorbeeld van hoe gegevens worden weergegeven op basis van voorkeuren. submit: Voltooien - subtitle: Laten we uw voorkeuren configureren. - title: Configureer uw voorkeuren - profile: - country: Land - first_name: Voornaam - household_name: Naam van huishouden - last_name: Achternaam - profile_image: Profielfoto - submit: Doorgaan - subtitle: Laten we uw profiel voltooien. - title: Laten we de basis instellen - show: - message: We zijn erg blij dat u hier bent. In de volgende stap stellen we u een paar vragen om uw profiel te voltooien en u helemaal klaar te maken. - setup: Account instellen - title: Maak kennis met %{product_name} + goals: + title: Wat brengt je hier? + subtitle: Selecteer een of meer doelen die je hebt met %{product_name} als je persoonlijke financiële tool. + unified_accounts: Al mijn rekeningen op één plek zien + cashflow: Cashflow en uitgaven begrijpen + budgeting: Financiële plannen en budgetten beheren + partner: Financiën samen met een partner beheren + investments: Investeringen volgen + ai_insights: AI laten helpen om mijn financiën te begrijpen + optimization: Rekeningen analyseren en optimaliseren + reduce_stress: Financiële stress of angst verminderen + submit: Volgende + trial: + title: Probeer Sure 45 dagen + data_deletion: Gegevens worden daarna verwijderd + description_html: Vanaf vandaag kun je het product uitgebreid testen.
Als je het leuk vindt, host het zelf of draag bij om het hier te blijven gebruiken. + try_button: Probeer Sure 45 dagen + continue_trial: Proefperiode voortzetten + upgrade: Upgraden + how_it_works: Hoe het werkt + today: Vandaag + today_description: Je krijgt 45 dagen gratis toegang tot Sure op onze AWS. + in_40_days: Over 40 dagen (%{date}) + in_40_days_description: We sturen je een herinnering om je gegevens te exporteren. + in_45_days: Over 45 dagen (%{date}) + in_45_days_description: We verwijderen je gegevens — draag bij om Sure hier te blijven gebruiken! \ No newline at end of file diff --git a/config/locales/views/onboardings/pt-BR.yml b/config/locales/views/onboardings/pt-BR.yml index b69ad4bc7..8b25f6a18 100644 --- a/config/locales/views/onboardings/pt-BR.yml +++ b/config/locales/views/onboardings/pt-BR.yml @@ -3,26 +3,59 @@ pt-BR: onboardings: header: sign_out: Sair + setup: Configuração + preferences: Preferências + goals: Objetivos + start: Iniciar + logout: + sign_out: Sair + show: + title: Vamos configurar sua conta + subtitle: Primeiro, vamos completar seu perfil. + first_name: Nome + first_name_placeholder: Nome + last_name: Sobrenome + last_name_placeholder: Sobrenome + household_name: Nome da família + household_name_placeholder: Nome da família + country: País + submit: Continuar preferences: + title: Configure suas preferências + subtitle: Vamos configurar suas preferências. + example: Conta de exemplo + preview: Visualização de como os dados são exibidos com base nas preferências. + color_theme: Tema de cores + theme_system: Sistema + theme_light: Claro + theme_dark: Escuro + locale: Idioma currency: Moeda date_format: Formato de data - example: Conta exemplo - locale: Idioma - preview: Visualize como os dados são exibidos com base nas preferências. submit: Concluir - subtitle: Vamos configurar suas preferências. - title: Configure suas preferências - profile: - country: País - first_name: Primeiro Nome - household_name: Nome da Família - last_name: Sobrenome - profile_image: Imagem do Perfil - submit: Continuar - subtitle: Vamos completar seu perfil. - title: Vamos configurar o básico - show: - message: Estamos muito empolgados por você estar aqui. No próximo passo, faremos - algumas perguntas para completar seu perfil e então deixar tudo configurado. - setup: Configurar conta - title: Conheça o %{product_name} + goals: + title: O que te traz aqui? + subtitle: Selecione um ou mais objetivos que você tem com o %{product_name} como sua ferramenta de finanças pessoais. + unified_accounts: Ver todas as minhas contas em um só lugar + cashflow: Entender fluxo de caixa e despesas + budgeting: Gerenciar planos financeiros e orçamentos + partner: Gerenciar finanças com um parceiro + investments: Acompanhar investimentos + ai_insights: Deixar a IA me ajudar a entender minhas finanças + optimization: Analisar e otimizar contas + reduce_stress: Reduzir estresse financeiro ou ansiedade + submit: Próximo + trial: + title: Experimente o Sure por 45 dias + data_deletion: Os dados serão excluídos depois + description_html: A partir de hoje você pode testar o produto a fundo.
Se gostar, hospede você mesmo ou contribua para continuar usando aqui. + try_button: Experimentar Sure por 45 dias + continue_trial: Continuar teste + upgrade: Atualizar + how_it_works: Como funciona + today: Hoje + today_description: Você terá acesso gratuito ao Sure por 45 dias em nosso AWS. + in_40_days: Em 40 dias (%{date}) + in_40_days_description: Notificaremos você para lembrar de exportar seus dados. + in_45_days: Em 45 dias (%{date}) + in_45_days_description: Excluímos seus dados — contribua para continuar usando o Sure aqui! \ No newline at end of file diff --git a/config/locales/views/onboardings/ro.yml b/config/locales/views/onboardings/ro.yml index 4fd5e5dca..d79984012 100644 --- a/config/locales/views/onboardings/ro.yml +++ b/config/locales/views/onboardings/ro.yml @@ -3,25 +3,59 @@ ro: onboardings: header: sign_out: Deconectare + setup: Configurare + preferences: Preferințe + goals: Obiective + start: Start + logout: + sign_out: Deconectare + show: + title: Să-ți configurăm contul + subtitle: Mai întâi, să-ți completăm profilul. + first_name: Prenume + first_name_placeholder: Prenume + last_name: Nume de familie + last_name_placeholder: Nume de familie + household_name: Numele gospodăriei + household_name_placeholder: Numele gospodăriei + country: Țară + submit: Continuă preferences: + title: Configurează preferințele + subtitle: Să-ți configurăm preferințele. + example: Cont exemplu + preview: Previzualizare a modului în care sunt afișate datele pe baza preferințelor. + color_theme: Tema de culoare + theme_system: Sistem + theme_light: Deschis + theme_dark: Întunecat + locale: Limbă currency: Monedă date_format: Format dată - example: Cont exemplu - locale: Limbă - preview: Previzualizează cum sunt afișate datele în funcție de preferințe. - submit: Finalizează - subtitle: Să configurăm preferințele tale. - title: Configurează-ți preferințele - profile: - country: Țară - first_name: Prenume - household_name: Numele gospodăriei - last_name: Nume de familie - profile_image: Imagine de profil - submit: Continuă - subtitle: Să-ți completăm profilul. - title: Să configurăm elementele de bază - show: - message: Suntem încântați că ești aici. În pasul următor îți vom pune câteva întrebări pentru a-ți completa profilul și apoi te vom pregăti. - setup: Configurează contul - title: Fă cunoștință cu %{product_name} + submit: Finalizare + goals: + title: Ce te aduce aici? + subtitle: Selectează unul sau mai multe obiective pe care le ai cu %{product_name} ca instrument de finanțe personale. + unified_accounts: Să-mi văd toate conturile într-un singur loc + cashflow: Să înțeleg fluxul de numerar și cheltuielile + budgeting: Să gestionez planuri financiare și bugete + partner: Să gestionez finanțele împreună cu partenerul + investments: Să urmăresc investițiile + ai_insights: Să las AI să mă ajute să-mi înțeleg finanțele + optimization: Să analizez și să optimizez conturile + reduce_stress: Să reduc stresul financiar sau anxietatea + submit: Următorul + trial: + title: Încearcă Sure timp de 45 de zile + data_deletion: Datele vor fi șterse după aceea + description_html: Începând de azi poți testa produsul în profunzime.
Dacă îți place, găzduiește-l singur sau contribuie pentru a continua să-l folosești aici. + try_button: Încearcă Sure timp de 45 de zile + continue_trial: Continuă perioada de probă + upgrade: Actualizează + how_it_works: Cum funcționează + today: Astăzi + today_description: Vei avea acces gratuit la Sure timp de 45 de zile pe AWS-ul nostru. + in_40_days: În 40 de zile (%{date}) + in_40_days_description: Te vom notifica să-ți amintim să-ți exporți datele. + in_45_days: În 45 de zile (%{date}) + in_45_days_description: Îți ștergem datele — contribuie pentru a continua să folosești Sure aici! \ No newline at end of file diff --git a/config/locales/views/onboardings/tr.yml b/config/locales/views/onboardings/tr.yml index 8bf76abbb..351fedc9a 100644 --- a/config/locales/views/onboardings/tr.yml +++ b/config/locales/views/onboardings/tr.yml @@ -3,25 +3,59 @@ tr: onboardings: header: sign_out: Çıkış yap + setup: Kurulum + preferences: Tercihler + goals: Hedefler + start: Başla + logout: + sign_out: Çıkış yap + show: + title: Hesabınızı kuralım + subtitle: Önce profilinizi tamamlayalım. + first_name: Ad + first_name_placeholder: Ad + last_name: Soyad + last_name_placeholder: Soyad + household_name: Hane adı + household_name_placeholder: Hane adı + country: Ülke + submit: Devam et preferences: + title: Tercihlerinizi yapılandırın + subtitle: Tercihlerinizi yapılandıralım. + example: Örnek hesap + preview: Tercihlere göre verilerin nasıl görüntüleneceğinin önizlemesi. + color_theme: Renk teması + theme_system: Sistem + theme_light: Açık + theme_dark: Koyu + locale: Dil currency: Para birimi date_format: Tarih formatı - example: Örnek hesap - locale: Dil - preview: Tercihlere göre verilerin nasıl görüneceğini önizleyin. submit: Tamamla - subtitle: Tercihlerinizi yapılandıralım. - title: Tercihlerinizi yapılandırın - profile: - country: Ülke - first_name: Ad - household_name: Hane Adı - last_name: Soyad - profile_image: Profil Resmi - submit: Devam et - subtitle: Profilinizi tamamlayalım. - title: Temel bilgileri ayarlayalım - show: - message: Burada olduğunuz için çok heyecanlıyız. Sonraki adımda profilinizi tamamlamak için size birkaç soru soracağız ve ardından her şeyi ayarlayacağız. - setup: Hesabı ayarla - title: Maybe ile Tanışın \ No newline at end of file + goals: + title: Sizi buraya ne getirdi? + subtitle: "%{product_name}'i kişisel finans aracınız olarak kullanmak için bir veya daha fazla hedef seçin." + unified_accounts: Tüm hesaplarımı tek bir yerde görmek + cashflow: Nakit akışını ve harcamaları anlamak + budgeting: Finansal planları ve bütçeleri yönetmek + partner: Bir partnerle birlikte finansları yönetmek + investments: Yatırımları takip etmek + ai_insights: AI'ın finanslarımı anlamama yardım etmesini sağlamak + optimization: Hesapları analiz etmek ve optimize etmek + reduce_stress: Finansal stresi veya kaygıyı azaltmak + submit: Sonraki + trial: + title: Sure'u 45 gün deneyin + data_deletion: Veriler daha sonra silinecek + description_html: Bugünden itibaren ürünü detaylı test edebilirsiniz.
Beğenirseniz, kendiniz barındırın veya burada kullanmaya devam etmek için katkıda bulunun. + try_button: Sure'u 45 gün dene + continue_trial: Denemeye devam et + upgrade: Yükselt + how_it_works: Nasıl çalışır + today: Bugün + today_description: AWS'mizde Sure'a 45 gün ücretsiz erişim elde edeceksiniz. + in_40_days: 40 gün içinde (%{date}) + in_40_days_description: Verilerinizi dışa aktarmanızı hatırlatmak için sizi bilgilendireceğiz. + in_45_days: 45 gün içinde (%{date}) + in_45_days_description: Verilerinizi siliyoruz — Sure'u burada kullanmaya devam etmek için katkıda bulunun! \ No newline at end of file diff --git a/config/locales/views/onboardings/zh-CN.yml b/config/locales/views/onboardings/zh-CN.yml index 7ee58a4d4..f2728ba95 100644 --- a/config/locales/views/onboardings/zh-CN.yml +++ b/config/locales/views/onboardings/zh-CN.yml @@ -3,25 +3,59 @@ zh-CN: onboardings: header: sign_out: 退出登录 + setup: 设置 + preferences: 偏好设置 + goals: 目标 + start: 开始 + logout: + sign_out: 退出登录 + show: + title: 让我们设置您的账户 + subtitle: 首先,让我们完善您的个人资料。 + first_name: 名 + first_name_placeholder: 名 + last_name: 姓 + last_name_placeholder: 姓 + household_name: 家庭名称 + household_name_placeholder: 家庭名称 + country: 国家 + submit: 继续 preferences: + title: 配置您的偏好设置 + subtitle: 让我们配置您的偏好设置。 + example: 示例账户 + preview: 根据偏好设置预览数据显示方式。 + color_theme: 颜色主题 + theme_system: 跟随系统 + theme_light: 浅色 + theme_dark: 深色 + locale: 语言 currency: 货币 date_format: 日期格式 - example: 示例账户 - locale: 语言 - preview: 预览偏好设置下的数据展示效果。 - submit: 完成设置 - subtitle: 现在来配置您的偏好设置。 - title: 配置偏好设置 - profile: - country: 国家/地区 - first_name: 名字 - household_name: 家庭名称 - last_name: 姓氏 - profile_image: 个人头像 - submit: 继续 - subtitle: 现在来完成您的个人资料。 - title: 基础信息设置 - show: - message: 很高兴您的加入!接下来我们将引导您完成几个步骤:完善个人资料,然后进行初始设置。 - setup: 开始设置 - title: 欢迎使用 %{product_name} + submit: 完成 + goals: + title: 是什么让您来到这里? + subtitle: 选择一个或多个您使用 %{product_name} 作为个人财务工具的目标。 + unified_accounts: 在一个地方查看所有账户 + cashflow: 了解现金流和支出 + budgeting: 管理财务计划和预算 + partner: 与伴侣共同管理财务 + investments: 跟踪投资 + ai_insights: 让 AI 帮助我了解我的财务状况 + optimization: 分析和优化账户 + reduce_stress: 减轻财务压力或焦虑 + submit: 下一步 + trial: + title: 免费试用 Sure 45 天 + data_deletion: 届时数据将被删除 + description_html: 从今天开始,您可以深入体验产品。
如果您喜欢,可以自行托管或贡献以继续在这里使用。 + try_button: 试用 Sure 45 天 + continue_trial: 继续试用 + upgrade: 升级 + how_it_works: 运作方式 + today: 今天 + today_description: 您将在我们的 AWS 上获得 45 天免费访问 Sure 的权限。 + in_40_days: 40 天后(%{date}) + in_40_days_description: 我们会通知您提醒导出数据。 + in_45_days: 45 天后(%{date}) + in_45_days_description: 我们将删除您的数据 — 贡献以继续在这里使用 Sure! \ No newline at end of file diff --git a/config/locales/views/onboardings/zh-TW.yml b/config/locales/views/onboardings/zh-TW.yml index 9846cd484..bf09e6294 100644 --- a/config/locales/views/onboardings/zh-TW.yml +++ b/config/locales/views/onboardings/zh-TW.yml @@ -3,25 +3,59 @@ zh-TW: onboardings: header: sign_out: 登出 - preferences: - currency: 幣別 - date_format: 日期格式 - example: 帳戶範例 - locale: 語言 - preview: 預覽根據偏好設定顯示的資料。 - submit: 完成 - subtitle: 讓我們來設定您的偏好設定。 - title: 設定您的偏好設定 - profile: - country: 國家 - first_name: 名字 - household_name: 家戶名稱 - last_name: 姓氏 - profile_image: 個人頭像 - submit: 繼續 - subtitle: 讓我們完成您的個人資料。 - title: 進行基礎設定 + setup: 設定 + preferences: 偏好設定 + goals: 目標 + start: 開始 + logout: + sign_out: 登出 show: - message: 我們很高興您的加入!接下來我們會詢問幾個問題來完善您的個人資料,並完成所有設定。 - setup: 開始設定帳號 - title: 認識 %{product_name} + title: 讓我們設定您的帳戶 + subtitle: 首先,讓我們完善您的個人檔案。 + first_name: 名 + first_name_placeholder: 名 + last_name: 姓 + last_name_placeholder: 姓 + household_name: 家庭名稱 + household_name_placeholder: 家庭名稱 + country: 國家 + submit: 繼續 + preferences: + title: 設定您的偏好 + subtitle: 讓我們設定您的偏好。 + example: 範例帳戶 + preview: 根據偏好設定預覽資料顯示方式。 + color_theme: 顏色主題 + theme_system: 跟隨系統 + theme_light: 淺色 + theme_dark: 深色 + locale: 語言 + currency: 貨幣 + date_format: 日期格式 + submit: 完成 + goals: + title: 是什麼讓您來到這裡? + subtitle: 選擇一個或多個您使用 %{product_name} 作為個人財務工具的目標。 + unified_accounts: 在一個地方查看所有帳戶 + cashflow: 了解現金流和支出 + budgeting: 管理財務計劃和預算 + partner: 與伴侶共同管理財務 + investments: 追蹤投資 + ai_insights: 讓 AI 幫助我了解我的財務狀況 + optimization: 分析和優化帳戶 + reduce_stress: 減輕財務壓力或焦慮 + submit: 下一步 + trial: + title: 免費試用 Sure 45 天 + data_deletion: 屆時資料將被刪除 + description_html: 從今天開始,您可以深入體驗產品。
如果您喜歡,可以自行託管或貢獻以繼續在這裡使用。 + try_button: 試用 Sure 45 天 + continue_trial: 繼續試用 + upgrade: 升級 + how_it_works: 運作方式 + today: 今天 + today_description: 您將在我們的 AWS 上獲得 45 天免費存取 Sure 的權限。 + in_40_days: 40 天後(%{date}) + in_40_days_description: 我們會通知您提醒匯出資料。 + in_45_days: 45 天後(%{date}) + in_45_days_description: 我們將刪除您的資料 — 貢獻以繼續在這裡使用 Sure! \ No newline at end of file diff --git a/config/locales/views/registrations/ca.yml b/config/locales/views/registrations/ca.yml index 1bd8668e9..5e977ef2f 100644 --- a/config/locales/views/registrations/ca.yml +++ b/config/locales/views/registrations/ca.yml @@ -24,3 +24,8 @@ ca: welcome_body: Per començar, has de registrar un compte nou. Després podràs configurar opcions addicionals dins l'aplicació. welcome_title: Benvingut/da a Self Hosted %{product_name}! + password_requirements: + length: Mínim 8 caràcters + case: Majúscules i minúscules + number: Un número (0-9) + special: "Un caràcter especial (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/de.yml b/config/locales/views/registrations/de.yml index 8fc0e85b1..f0747f360 100644 --- a/config/locales/views/registrations/de.yml +++ b/config/locales/views/registrations/de.yml @@ -8,6 +8,7 @@ de: user: create: Weiter registrations: + closed: Die Anmeldung ist derzeit geschlossen. create: failure: Beim Registrieren ist ein Problem aufgetreten invalid_invite_code: Ungültiger Einladungscode bitte versuche es erneut @@ -22,3 +23,8 @@ de: welcome_body: Um zu beginnen musst du ein neues Konto erstellen Danach kannst du zusätzliche Einstellungen in der App konfigurieren welcome_title: Willkommen bei Self Hosted %{product_name} password_placeholder: Passwort eingeben + password_requirements: + length: Mindestens 8 Zeichen + case: Groß- und Kleinbuchstaben + number: Eine Zahl (0-9) + special: "Ein Sonderzeichen (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/en.yml b/config/locales/views/registrations/en.yml index 6b6d4f2ec..742044a02 100644 --- a/config/locales/views/registrations/en.yml +++ b/config/locales/views/registrations/en.yml @@ -24,3 +24,8 @@ en: then be able to configure additional settings within the app. welcome_title: Welcome to Self Hosted %{product_name}! password_placeholder: Enter your password + password_requirements: + length: Minimum 8 characters + case: Upper and lowercase letters + number: A number (0-9) + special: "A special character (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/es.yml b/config/locales/views/registrations/es.yml index b9d3b885c..fc4b1169d 100644 --- a/config/locales/views/registrations/es.yml +++ b/config/locales/views/registrations/es.yml @@ -24,3 +24,8 @@ es: configurar ajustes adicionales dentro de la aplicación. welcome_title: ¡Bienvenido a Self Hosted %{product_name}! password_placeholder: Introduce tu contraseña + password_requirements: + length: Mínimo 8 caracteres + case: Mayúsculas y minúsculas + number: Un número (0-9) + special: "Un carácter especial (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/fr.yml b/config/locales/views/registrations/fr.yml index 0a57616c8..06ec380f5 100644 --- a/config/locales/views/registrations/fr.yml +++ b/config/locales/views/registrations/fr.yml @@ -23,3 +23,8 @@ fr: welcome_body: Pour commencer, vous devez créer un nouveau compte. Vous pourrez ensuite configurer des paramètres supplémentaires à l'intérieur de l'application. welcome_title: Bienvenue sur %{product_name} ! password_placeholder: Entrez votre mot de passe + password_requirements: + length: Minimum 8 caractères + case: Majuscules et minuscules + number: Un chiffre (0-9) + special: "Un caractère spécial (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/nb.yml b/config/locales/views/registrations/nb.yml index a915358cf..fb5852aec 100644 --- a/config/locales/views/registrations/nb.yml +++ b/config/locales/views/registrations/nb.yml @@ -24,3 +24,8 @@ nb: da kunne konfigurere flere innstillinger i appen. welcome_title: Velkommen til Self Hosted %{product_name}! password_placeholder: Angi passordet ditt + password_requirements: + length: Minimum 8 tegn + case: Store og små bokstaver + number: Et tall (0-9) + special: "Et spesialtegn (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/nl.yml b/config/locales/views/registrations/nl.yml index 320cd156b..fcdf5c985 100644 --- a/config/locales/views/registrations/nl.yml +++ b/config/locales/views/registrations/nl.yml @@ -23,3 +23,8 @@ nl: welcome_body: Om te beginnen moet u zich aanmelden voor een nieuw account. U kunt daarna aanvullende instellingen binnen de app configureren. welcome_title: Welkom bij Self Hosted %{product_name}! password_placeholder: Voer uw wachtwoord in + password_requirements: + length: Minimaal 8 tekens + case: Hoofdletters en kleine letters + number: Een cijfer (0-9) + special: "Een speciaal teken (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/pt-BR.yml b/config/locales/views/registrations/pt-BR.yml index 9aea20658..c39e455a1 100644 --- a/config/locales/views/registrations/pt-BR.yml +++ b/config/locales/views/registrations/pt-BR.yml @@ -23,3 +23,8 @@ pt-BR: poderá configurar configurações adicionais dentro do aplicativo. welcome_title: Bem-vindo ao Self Hosted %{product_name}! password_placeholder: Digite sua senha + password_requirements: + length: Mínimo 8 caracteres + case: Letras maiúsculas e minúsculas + number: Um número (0-9) + special: "Um caractere especial (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/ro.yml b/config/locales/views/registrations/ro.yml index 189b78c5a..5f3ece26b 100644 --- a/config/locales/views/registrations/ro.yml +++ b/config/locales/views/registrations/ro.yml @@ -23,3 +23,8 @@ ro: welcome_body: Pentru a începe, trebuie să îți creezi un cont nou. Apoi vei putea configura setări suplimentare în aplicație. welcome_title: Bine ai venit la Self Hosted Maybe! password_placeholder: Introdu parola + password_requirements: + length: Minim 8 caractere + case: Litere mari și mici + number: O cifră (0-9) + special: "Un caracter special (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/tr.yml b/config/locales/views/registrations/tr.yml index df236371d..61dc038aa 100644 --- a/config/locales/views/registrations/tr.yml +++ b/config/locales/views/registrations/tr.yml @@ -23,3 +23,8 @@ tr: welcome_body: Başlamak için yeni bir hesap oluşturmalısınız. Daha sonra uygulama içinde ek ayarları yapılandırabileceksiniz. welcome_title: Self Hosted %{product_name}'ye Hoş Geldiniz! password_placeholder: Şifrenizi girin + password_requirements: + length: En az 8 karakter + case: Büyük ve küçük harfler + number: Bir rakam (0-9) + special: "Bir özel karakter (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/zh-CN.yml b/config/locales/views/registrations/zh-CN.yml index d4344273a..84c3bd567 100644 --- a/config/locales/views/registrations/zh-CN.yml +++ b/config/locales/views/registrations/zh-CN.yml @@ -23,3 +23,8 @@ zh-CN: title: 创建您的账户 welcome_body: 开始使用前,您需要注册一个新账户。注册后即可在应用内配置其他设置。 welcome_title: 欢迎使用自托管版 %{product_name}! + password_requirements: + length: 至少8个字符 + case: 大写和小写字母 + number: 一个数字 (0-9) + special: "一个特殊字符 (!, @, #, $, %, etc)" diff --git a/config/locales/views/registrations/zh-TW.yml b/config/locales/views/registrations/zh-TW.yml index 9912f0d72..b16b299ae 100644 --- a/config/locales/views/registrations/zh-TW.yml +++ b/config/locales/views/registrations/zh-TW.yml @@ -23,3 +23,8 @@ zh-TW: welcome_body: 在開始之前,您必須註冊一個新帳號。註冊完成後,您將能在應用程式內進行進階設定。 welcome_title: 歡迎使用自行代管的 %{product_name}! password_placeholder: 輸入您的密碼 + password_requirements: + length: 至少8個字元 + case: 大寫和小寫字母 + number: 一個數字 (0-9) + special: "一個特殊字元 (!, @, #, $, %, etc)" diff --git a/config/locales/views/sessions/ca.yml b/config/locales/views/sessions/ca.yml index 2f2c28ba6..8e87f4b4a 100644 --- a/config/locales/views/sessions/ca.yml +++ b/config/locales/views/sessions/ca.yml @@ -25,6 +25,7 @@ ca: no_auth_methods_enabled: Actualment no hi ha cap mètode d'autenticació habilitat. Contacta amb un administrador. openid_connect: Inicia sessió amb OpenID Connect + oidc: Inicia sessió amb OpenID Connect password: Contrasenya password_placeholder: Introdueix la teva contrasenya submit: Inicia sessió diff --git a/config/locales/views/sessions/de.yml b/config/locales/views/sessions/de.yml index 99b95fa05..1d307a7de 100644 --- a/config/locales/views/sessions/de.yml +++ b/config/locales/views/sessions/de.yml @@ -18,4 +18,5 @@ de: title: Melde dich bei deinem Konto an password_placeholder: Passwort eingeben openid_connect: Mit OpenID Connect anmelden + oidc: Mit OpenID Connect anmelden google_auth_connect: Mit Google anmelden diff --git a/config/locales/views/sessions/en.yml b/config/locales/views/sessions/en.yml index 32bbeae7e..beb947b88 100644 --- a/config/locales/views/sessions/en.yml +++ b/config/locales/views/sessions/en.yml @@ -24,6 +24,7 @@ en: title: Sure password_placeholder: Enter your password openid_connect: Sign in with OpenID Connect + oidc: Sign in with OpenID Connect google_auth_connect: Sign in with Google local_login_admin_only: Local login is restricted to administrators. no_auth_methods_enabled: No authentication methods are currently enabled. Please contact an administrator. diff --git a/config/locales/views/sessions/es.yml b/config/locales/views/sessions/es.yml index 5eafcf9d7..d7dbbee6b 100644 --- a/config/locales/views/sessions/es.yml +++ b/config/locales/views/sessions/es.yml @@ -19,6 +19,7 @@ es: title: Inicia sesión en tu cuenta password_placeholder: Introduce tu contraseña openid_connect: Inicia sesión con OpenID Connect + oidc: Inicia sesión con OpenID Connect google_auth_connect: Inicia sesión con Google local_login_admin_only: El inicio de sesión local está restringido a administradores. no_auth_methods_enabled: No hay métodos de autenticación habilitados actualmente. Ponte en contacto con un administrador. diff --git a/config/locales/views/sessions/fr.yml b/config/locales/views/sessions/fr.yml index b56a355df..8e57be388 100644 --- a/config/locales/views/sessions/fr.yml +++ b/config/locales/views/sessions/fr.yml @@ -13,3 +13,5 @@ fr: submit: Se connecter title: Connectez-vous à votre compte password_placeholder: Entrez votre mot de passe + openid_connect: Se connecter avec OpenID Connect + oidc: Se connecter avec OpenID Connect diff --git a/config/locales/views/sessions/nb.yml b/config/locales/views/sessions/nb.yml index c78d4a277..d3c88b1fe 100644 --- a/config/locales/views/sessions/nb.yml +++ b/config/locales/views/sessions/nb.yml @@ -1,8 +1,8 @@ ---- -nb: - sessions: - create: - invalid_credentials: Ugyldig e-post eller passord. +--- +nb: + sessions: + create: + invalid_credentials: Ugyldig e-post eller passord. destroy: logout_successful: Du har blitt logget ut. openid_connect: @@ -16,3 +16,4 @@ nb: title: Logg inn på kontoen din password_placeholder: Angi passordet ditt openid_connect: Logg inn med OpenID Connect + oidc: Logg inn med OpenID Connect diff --git a/config/locales/views/sessions/nl.yml b/config/locales/views/sessions/nl.yml index 6c7ff3397..4cefd4864 100644 --- a/config/locales/views/sessions/nl.yml +++ b/config/locales/views/sessions/nl.yml @@ -24,6 +24,7 @@ nl: title: "%{product_name}" password_placeholder: Voer uw wachtwoord in openid_connect: Inloggen met OpenID Connect + oidc: Inloggen met OpenID Connect google_auth_connect: Inloggen met Google local_login_admin_only: Lokale login is beperkt tot beheerders. no_auth_methods_enabled: Er zijn momenteel geen authenticatiemethoden ingeschakeld. Neem contact op met een beheerder. diff --git a/config/locales/views/sessions/pt-BR.yml b/config/locales/views/sessions/pt-BR.yml index 65691fb61..b9f85d83b 100644 --- a/config/locales/views/sessions/pt-BR.yml +++ b/config/locales/views/sessions/pt-BR.yml @@ -18,6 +18,7 @@ pt-BR: title: Entre na sua conta password_placeholder: Digite sua senha openid_connect: Entrar com OpenID Connect + oidc: Entrar com OpenID Connect google_auth_connect: Entrar com Google demo_banner_title: "Modo de Demonstração Ativo" demo_banner_message: "Este é um ambiente de demonstração. As credenciais de login foram preenchidas para sua conveniência. Por favor, não insira informações reais ou sensíveis." diff --git a/config/locales/views/sessions/ro.yml b/config/locales/views/sessions/ro.yml index a74d33b38..33ca3babd 100644 --- a/config/locales/views/sessions/ro.yml +++ b/config/locales/views/sessions/ro.yml @@ -18,4 +18,5 @@ ro: title: Conectează-te la contul tău password_placeholder: Introdu parola openid_connect: Conectează-te cu OpenID Connect + oidc: Conectează-te cu OpenID Connect google_auth_connect: Conectează-te cu Google diff --git a/config/locales/views/sessions/tr.yml b/config/locales/views/sessions/tr.yml index 91bd43b7b..f354dd02c 100644 --- a/config/locales/views/sessions/tr.yml +++ b/config/locales/views/sessions/tr.yml @@ -16,3 +16,4 @@ tr: title: Hesabınıza giriş yapın password_placeholder: Şifrenizi girin openid_connect: OpenID Connect ile giriş yap + oidc: OpenID Connect ile giriş yap diff --git a/config/locales/views/sessions/zh-CN.yml b/config/locales/views/sessions/zh-CN.yml index d8ca1cba1..f683ee870 100644 --- a/config/locales/views/sessions/zh-CN.yml +++ b/config/locales/views/sessions/zh-CN.yml @@ -15,6 +15,7 @@ zh-CN: forgot_password: 忘记密码? google_auth_connect: 使用 Google 登录 openid_connect: 使用 OpenID Connect 登录 + oidc: 使用 OpenID Connect 登录 password: 密码 password_placeholder: 请输入密码 submit: 登录 diff --git a/config/locales/views/sessions/zh-TW.yml b/config/locales/views/sessions/zh-TW.yml index 31bdf64cc..e6aac1a71 100644 --- a/config/locales/views/sessions/zh-TW.yml +++ b/config/locales/views/sessions/zh-TW.yml @@ -19,6 +19,7 @@ zh-TW: title: 登入 password_placeholder: 輸入您的密碼 openid_connect: 透過 OpenID Connect 登入 + oidc: 透過 OpenID Connect 登入 google_auth_connect: 透過 Google 帳號登入 local_login_admin_only: 本地登入僅限管理員使用。 no_auth_methods_enabled: 目前未啟用任何驗證方式。請聯絡管理員。 diff --git a/test/system/onboardings_test.rb b/test/system/onboardings_test.rb index 2bff29bdc..19410b53a 100644 --- a/test/system/onboardings_test.rb +++ b/test/system/onboardings_test.rb @@ -8,21 +8,28 @@ class OnboardingsTest < ApplicationSystemTestCase # Reset onboarding state @user.update!(set_onboarding_preferences_at: nil) + # Force English locale for tests + I18n.locale = :en + sign_in @user end + teardown do + I18n.locale = I18n.default_locale + end + test "can complete the full onboarding flow" do # Start at the main onboarding page visit onboarding_path - assert_text "Let's set up your account" - assert_button "Continue" + assert_text I18n.t("onboardings.show.title") + assert_button I18n.t("onboardings.show.submit") # Navigate to preferences - click_button "Continue" + click_button I18n.t("onboardings.show.submit") assert_current_path preferences_onboarding_path - assert_text "Configure your preferences" + assert_text I18n.t("onboardings.preferences.title") # Test that the chart renders without errors (this would catch the Series bug) assert_selector "[data-controller='time-series-chart']" @@ -31,14 +38,14 @@ class OnboardingsTest < ApplicationSystemTestCase select "English (en)", from: "user_family_attributes_locale" select "United States Dollar (USD)", from: "user_family_attributes_currency" select "MM/DD/YYYY", from: "user_family_attributes_date_format" - select "Light", from: "user_theme" + select_theme("light") # Submit preferences - click_button "Complete" + click_button I18n.t("onboardings.preferences.submit") # Should redirect to goals page assert_current_path goals_onboarding_path - assert_text "What brings you here?" + assert_text I18n.t("onboardings.goals.title") end test "preferences page renders chart without errors" do @@ -59,7 +66,7 @@ class OnboardingsTest < ApplicationSystemTestCase end # Verify the preview example shows - assert_text "Example" + assert_text I18n.t("onboardings.preferences.example") assert_text "$2,325.25" assert_text "+$78.90" end @@ -72,7 +79,7 @@ class OnboardingsTest < ApplicationSystemTestCase # The preview should update (this tests the JavaScript controller) # Note: This would require the onboarding controller to handle currency changes - assert_text "Example" + assert_text I18n.t("onboardings.preferences.example") end test "can change date format and see preview update" do @@ -82,17 +89,17 @@ class OnboardingsTest < ApplicationSystemTestCase select "DD/MM/YYYY", from: "user_family_attributes_date_format" # The preview should update - assert_text "Example" + assert_text I18n.t("onboardings.preferences.example") end test "can change theme" do visit preferences_onboarding_path - # Change theme - select "Dark", from: "user_theme" + # Change theme using value instead of label + select_theme("dark") # Theme should be applied (this tests the JavaScript controller) - assert_text "Example" + assert_text I18n.t("onboardings.preferences.example") end test "preferences form validation" do @@ -100,7 +107,7 @@ class OnboardingsTest < ApplicationSystemTestCase # Clear required fields and try to submit select "", from: "user_family_attributes_locale" - click_button "Complete" + click_button I18n.t("onboardings.preferences.submit") # Should stay on preferences page with validation errors (may have query params) assert_match %r{/onboarding/preferences}, current_path @@ -113,7 +120,7 @@ class OnboardingsTest < ApplicationSystemTestCase select "Spanish (es)", from: "user_family_attributes_locale" select "Euro (EUR)", from: "user_family_attributes_currency" select "DD/MM/YYYY", from: "user_family_attributes_date_format" - select "Dark", from: "user_theme" + select_theme("dark") # Button text is in Spanish due to locale preview click_button I18n.t("onboardings.preferences.submit", locale: :es) @@ -138,20 +145,20 @@ class OnboardingsTest < ApplicationSystemTestCase visit goals_onboarding_path - assert_text "What brings you here?" - assert_button "Next" + assert_text I18n.t("onboardings.goals.title") + assert_button I18n.t("onboardings.goals.submit") end test "trial page renders correctly" do visit trial_onboarding_path - assert_text "Try Sure" + assert_text "Sure" end test "navigation between onboarding steps" do # Start at main onboarding visit onboarding_path - click_button "Continue" + click_button I18n.t("onboardings.show.submit") # Should be at preferences assert_current_path preferences_onboarding_path @@ -160,7 +167,7 @@ class OnboardingsTest < ApplicationSystemTestCase select "English (en)", from: "user_family_attributes_locale" select "United States Dollar (USD)", from: "user_family_attributes_currency" select "MM/DD/YYYY", from: "user_family_attributes_date_format" - click_button "Complete" + click_button I18n.t("onboardings.preferences.submit") # Should be at goals assert_current_path goals_onboarding_path @@ -177,17 +184,22 @@ class OnboardingsTest < ApplicationSystemTestCase visit preferences_onboarding_path # Should have logout option (rendered as a button component) - assert_text "Sign out" + assert_text I18n.t("onboardings.logout.sign_out") end private + def select_theme(value) + find("#user_theme", visible: :all) + .find("option[value='#{value}']", visible: :all) + .select_option + end def sign_in(user) visit new_session_path within %(form[action='#{sessions_path}']) do - fill_in "Email", with: user.email - fill_in "Password", with: user_password_test - click_on "Log in" + fill_in I18n.t("sessions.new.email"), with: user.email + fill_in I18n.t("sessions.new.password"), with: user_password_test + click_on I18n.t("sessions.new.submit") end # Wait for successful login