From f42e6e373b84e60ee79a7edcc265461c7501ab26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20Sol=C3=A0?= Date: Sun, 26 Oct 2025 16:50:31 +0000 Subject: [PATCH] Added translations for ca - Catalan (#238) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add CA locales for models * Add CA locales for views * Use translations in activity feed * Additional CA locales * Fix typo --------- Co-authored-by: Juan José Mata --- .../UI/account/activity_feed.html.erb | 16 +- config/locales/doorkeeper.ca.yml | 147 ++++++++++++++++++ config/locales/models/account/ca.yml | 22 +++ config/locales/models/address/ca.yml | 12 ++ config/locales/models/entry/ca.yml | 9 ++ config/locales/models/import/ca.yml | 14 ++ .../locales/models/time_series/value/ca.yml | 10 ++ config/locales/models/transfer/ca.yml | 19 +++ config/locales/models/trend/ca.yml | 14 ++ config/locales/models/user/ca.yml | 21 +++ config/locales/views/accounts/ca.yml | 66 ++++++++ config/locales/views/accounts/en.yml | 2 + config/locales/views/application/ca.yml | 11 ++ config/locales/views/categories/ca.yml | 35 +++++ .../locales/views/category/deletions/ca.yml | 14 ++ .../locales/views/category/dropdowns/ca.yml | 12 ++ config/locales/views/credit_cards/ca.yml | 26 ++++ config/locales/views/cryptos/ca.yml | 8 + config/locales/views/depositories/ca.yml | 11 ++ .../views/email_confirmation_mailer/ca.yml | 10 ++ config/locales/views/entries/ca.yml | 15 ++ config/locales/views/family_exports/ca.yml | 8 + config/locales/views/holdings/ca.yml | 36 +++++ .../views/impersonation_sessions/ca.yml | 16 ++ config/locales/views/imports/ca.yml | 79 ++++++++++ config/locales/views/investments/ca.yml | 18 +++ config/locales/views/invitation_mailer/ca.yml | 9 ++ config/locales/views/invitations/ca.yml | 20 +++ config/locales/views/invite_codes/ca.yml | 7 + config/locales/views/layout/ca.yml | 14 ++ config/locales/views/loans/ca.yml | 24 +++ config/locales/views/merchants/ca.yml | 27 ++++ config/locales/views/mfa/ca.yml | 35 +++++ config/locales/views/onboardings/ca.yml | 28 ++++ config/locales/views/other_assets/ca.yml | 8 + config/locales/views/other_liabilities/ca.yml | 8 + config/locales/views/pages/ca.yml | 14 ++ config/locales/views/password_mailer/ca.yml | 9 ++ config/locales/views/password_resets/ca.yml | 14 ++ config/locales/views/plaid_items/ca.yml | 24 +++ config/locales/views/properties/ca.yml | 33 ++++ config/locales/views/registrations/ca.yml | 25 +++ config/locales/views/sessions/ca.yml | 22 +++ config/locales/views/settings/api_keys/ca.yml | 76 +++++++++ config/locales/views/settings/ca.yml | 121 ++++++++++++++ config/locales/views/settings/hostings/ca.yml | 51 ++++++ .../locales/views/settings/securities/ca.yml | 11 ++ config/locales/views/shared/ca.yml | 15 ++ config/locales/views/simplefin_items/ca.yml | 48 ++++++ config/locales/views/subscriptions/ca.yml | 5 + config/locales/views/tag/deletions/ca.yml | 15 ++ config/locales/views/tags/ca.yml | 24 +++ config/locales/views/trades/ca.yml | 39 +++++ config/locales/views/transactions/ca.yml | 82 ++++++++++ config/locales/views/transfers/ca.yml | 30 ++++ config/locales/views/users/ca.yml | 15 ++ config/locales/views/valuations/ca.yml | 31 ++++ config/locales/views/vehicles/ca.yml | 26 ++++ 58 files changed, 1553 insertions(+), 8 deletions(-) create mode 100644 config/locales/doorkeeper.ca.yml create mode 100644 config/locales/models/account/ca.yml create mode 100644 config/locales/models/address/ca.yml create mode 100644 config/locales/models/entry/ca.yml create mode 100644 config/locales/models/import/ca.yml create mode 100644 config/locales/models/time_series/value/ca.yml create mode 100644 config/locales/models/transfer/ca.yml create mode 100644 config/locales/models/trend/ca.yml create mode 100644 config/locales/models/user/ca.yml create mode 100644 config/locales/views/accounts/ca.yml create mode 100644 config/locales/views/application/ca.yml create mode 100644 config/locales/views/categories/ca.yml create mode 100644 config/locales/views/category/deletions/ca.yml create mode 100644 config/locales/views/category/dropdowns/ca.yml create mode 100644 config/locales/views/credit_cards/ca.yml create mode 100644 config/locales/views/cryptos/ca.yml create mode 100644 config/locales/views/depositories/ca.yml create mode 100644 config/locales/views/email_confirmation_mailer/ca.yml create mode 100644 config/locales/views/entries/ca.yml create mode 100644 config/locales/views/family_exports/ca.yml create mode 100644 config/locales/views/holdings/ca.yml create mode 100644 config/locales/views/impersonation_sessions/ca.yml create mode 100644 config/locales/views/imports/ca.yml create mode 100644 config/locales/views/investments/ca.yml create mode 100644 config/locales/views/invitation_mailer/ca.yml create mode 100644 config/locales/views/invitations/ca.yml create mode 100644 config/locales/views/invite_codes/ca.yml create mode 100644 config/locales/views/layout/ca.yml create mode 100644 config/locales/views/loans/ca.yml create mode 100644 config/locales/views/merchants/ca.yml create mode 100644 config/locales/views/mfa/ca.yml create mode 100644 config/locales/views/onboardings/ca.yml create mode 100644 config/locales/views/other_assets/ca.yml create mode 100644 config/locales/views/other_liabilities/ca.yml create mode 100644 config/locales/views/pages/ca.yml create mode 100644 config/locales/views/password_mailer/ca.yml create mode 100644 config/locales/views/password_resets/ca.yml create mode 100644 config/locales/views/plaid_items/ca.yml create mode 100644 config/locales/views/properties/ca.yml create mode 100644 config/locales/views/registrations/ca.yml create mode 100644 config/locales/views/sessions/ca.yml create mode 100644 config/locales/views/settings/api_keys/ca.yml create mode 100644 config/locales/views/settings/ca.yml create mode 100644 config/locales/views/settings/hostings/ca.yml create mode 100644 config/locales/views/settings/securities/ca.yml create mode 100644 config/locales/views/shared/ca.yml create mode 100644 config/locales/views/simplefin_items/ca.yml create mode 100644 config/locales/views/subscriptions/ca.yml create mode 100644 config/locales/views/tag/deletions/ca.yml create mode 100644 config/locales/views/tags/ca.yml create mode 100644 config/locales/views/trades/ca.yml create mode 100644 config/locales/views/transactions/ca.yml create mode 100644 config/locales/views/transfers/ca.yml create mode 100644 config/locales/views/users/ca.yml create mode 100644 config/locales/views/valuations/ca.yml create mode 100644 config/locales/views/vehicles/ca.yml diff --git a/app/components/UI/account/activity_feed.html.erb b/app/components/UI/account/activity_feed.html.erb index 14753b825..dd9528430 100644 --- a/app/components/UI/account/activity_feed.html.erb +++ b/app/components/UI/account/activity_feed.html.erb @@ -1,15 +1,15 @@ <%= turbo_frame_tag dom_id(account, "entries") do %>
- <%= tag.h2 "Activity", class: "font-medium text-lg" %> + <%= tag.h2 t("accounts.show.activity.title"), class: "font-medium text-lg" %> <% if account.manual? %> <%= render DS::Menu.new(variant: "button") do |menu| %> - <% menu.with_button(text: "New", variant: "secondary", icon: "plus") %> + <% menu.with_button(text: t("accounts.show.activity.new"), variant: "secondary", icon: "plus") %> <% menu.with_item( variant: "link", - text: "New balance", + text: t("accounts.show.activity.new_balance"), icon: "circle-dollar-sign", href: new_valuation_path(account_id: account.id), data: { turbo_frame: :modal }) %> @@ -17,7 +17,7 @@ <% unless account.crypto? %> <% menu.with_item( variant: "link", - text: "New transaction", + text: t("accounts.show.activity.new_transaction"), icon: "credit-card", href: account.investment? ? new_trade_path(account_id: account.id) : new_transaction_path(account_id: account.id), data: { turbo_frame: :modal }) %> @@ -40,7 +40,7 @@ <%= hidden_field_tag :account_id, account.id %> <%= form.search_field :search, - placeholder: "Search entries by name", + placeholder: t("accounts.show.activity.search.placeholder"), value: search, class: "form-field__input placeholder:text-sm placeholder:text-secondary", "data-auto-submit-form-target": "auto" %> @@ -51,7 +51,7 @@
<% if activity_dates.empty? %> -

No entries yet

+ <%= tag.p t("accounts.show.activity.no_entries"), class: "text-secondary text-sm p-4" %> <% else %> <%= tag.div id: dom_id(account, "entries_bulk_select"), data: { @@ -68,10 +68,10 @@ <%= check_box_tag "selection_entry", class: "checkbox checkbox--light", data: { action: "bulk-select#togglePageSelection" } %> -

Date

+ <%= tag.p t("accounts.show.activity.date") %>
- <%= tag.p "Amount", class: "col-span-4 justify-self-end" %> + <%= tag.p t("accounts.show.activity.amount"), class: "col-span-4 justify-self-end" %>
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml new file mode 100644 index 000000000..50f2d070b --- /dev/null +++ b/config/locales/doorkeeper.ca.yml @@ -0,0 +1,147 @@ +ca: + activerecord: + attributes: + doorkeeper/application: + name: Nom + redirect_uri: URI de redirecció + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: no pot contenir un fragment. + invalid_uri: ha de ser un URI vàlid. + unspecified_scheme: cal especificar un esquema. + relative_uri: ha de ser un URI absolut. + secured_uri: ha de ser un URI HTTPS/SSL. + forbidden_uri: està prohibit pel servidor. + scopes: + not_match_configured: no coincideix amb la configuració del servidor. + + doorkeeper: + applications: + confirmations: + destroy: Segur que vols continuar? + buttons: + edit: Edita + destroy: Elimina + submit: Desa + cancel: Cancel·la + authorize: Autoritza + form: + error: Ups! Revisa el formulari per possibles errors + help: + confidential: L'aplicació s'utilitzarà on el secret del client es pugui mantenir confidencial. Les apps mòbils natives i les SPA es consideren no confidencials. + redirect_uri: Utilitza una línia per URI + blank_redirect_uri: Deixa-ho en blanc si el teu proveïdor està configurat per utilitzar Client Credentials, Resource Owner Password Credentials o qualsevol altre grant que no requereixi URI de redirecció. + scopes: Separa els escopos amb espais. Deixa-ho en blanc per utilitzar els escopos per defecte. + edit: + title: Edita aplicació + index: + title: Les teves aplicacions + new: Nova aplicació + name: Nom + callback_url: URL de retorn + confidential: Confidencial? + actions: Accions + confidentiality: + 'yes': Sí + 'no': No + new: + title: Nova aplicació + show: + title: "Aplicació: %{name}" + application_id: UID + secret: Secret + secret_hashed: Secret xifrat + scopes: Escopos + confidential: Confidencial + callback_urls: URLs de retorn + actions: Accions + not_defined: No definit + + authorizations: + buttons: + authorize: Autoritza + deny: Denega + error: + title: S'ha produït un error + new: + title: Autorització requerida + prompt: Autoritzes %{client_name} a utilitzar el teu compte? + able_to: Aquesta aplicació podrà + show: + title: Codi d'autorització + form_post: + title: Envia aquest formulari + + authorized_applications: + confirmations: + revoke: Segur que vols continuar? + buttons: + revoke: Revoca + index: + title: Les teves aplicacions autoritzades + application: Aplicació + created_at: Creat el + date_format: '%Y-%m-%d %H:%M:%S' + + pre_authorization: + status: Preautorització + + errors: + messages: + invalid_request: + unknown: La sol·licitud manca d'un paràmetre requerit, inclou un valor no suportat o està mal formada. + missing_param: "Falta el paràmetre requerit: %{value}." + request_not_authorized: La sol·licitud necessita autorització. Falta o és invàlid el paràmetre requerit per autoritzar la sol·licitud. + invalid_code_challenge: Es requereix el code challenge. + invalid_redirect_uri: L'URI de redirecció sol·licitat està mal format o no coincideix amb el client. + unauthorized_client: El client no està autoritzat a fer aquesta sol·licitud amb aquest mètode. + access_denied: El propietari del recurs o el servidor d'autorització ha denegat la sol·licitud. + invalid_scope: L'escop sol·licitat és invàlid, desconegut o mal format. + invalid_code_challenge_method: + zero: El servidor d'autorització no suporta PKCE perquè no hi ha valors acceptats per code_challenge_method. + one: El code_challenge_method ha de ser %{challenge_methods}. + other: "El code_challenge_method ha de ser un dels següents: %{challenge_methods}." + server_error: El servidor d'autorització ha trobat una condició inesperada que ha impedit completar la sol·licitud. + temporarily_unavailable: El servidor d'autorització no pot gestionar la sol·licitud temporalment per sobrecàrrega o manteniment. + credential_flow_not_configured: El flux Resource Owner Password Credentials ha fallat perquè Doorkeeper.configure.resource_owner_from_credentials no està configurat. + resource_owner_authenticator_not_configured: No s'ha pogut trobar el propietari del recurs perquè Doorkeeper.configure.resource_owner_authenticator no està configurat. + admin_authenticator_not_configured: L'accés al panell d'administració està prohibit perquè Doorkeeper.configure.admin_authenticator no està configurat. + unsupported_response_type: El servidor d'autorització no suporta aquest tipus de resposta. + unsupported_response_mode: El servidor d'autorització no suporta aquest mode de resposta. + invalid_client: L'autenticació del client ha fallat per client desconegut, sense autenticació o mètode no suportat. + invalid_grant: El grant d'autorització proporcionat és invàlid, caducat, revocat, no coincideix amb l'URI de redirecció o s'ha emès a un altre client. + unsupported_grant_type: El tipus de grant no és suportat pel servidor d'autorització. + invalid_token: + revoked: El token d'accés ha estat revocat + expired: El token d'accés ha caducat + unknown: El token d'accés no és vàlid + revoke: + unauthorized: No estàs autoritzat/da a revocar aquest token + forbidden_token: + missing_scope: L'accés a aquest recurs requereix l'escop "%{oauth_scopes}". + + flash: + applications: + create: + notice: Aplicació creada. + destroy: + notice: Aplicació eliminada. + update: + notice: Aplicació actualitzada. + authorized_applications: + destroy: + notice: Aplicació revocada. + + layouts: + admin: + title: Doorkeeper + nav: + oauth2_provider: Proveïdor OAuth2 + applications: Aplicacions + home: Inici + application: + title: Autorització OAuth requerida + diff --git a/config/locales/models/account/ca.yml b/config/locales/models/account/ca.yml new file mode 100644 index 000000000..bc22cd01f --- /dev/null +++ b/config/locales/models/account/ca.yml @@ -0,0 +1,22 @@ +--- +ca: + activerecord: + attributes: + account: + balance: Saldo + currency: Moneda + family: Família + family_id: Família + name: Nom + subtype: Subtipus + models: + account: Compte + account/credit: Targeta de crèdit + account/depository: Compte bancari + account/investment: Inversió + account/loan: Préstec + account/other_asset: Altres actius + account/other_liability: Altres passius + account/property: Immoble + account/vehicle: Vehicle + diff --git a/config/locales/models/address/ca.yml b/config/locales/models/address/ca.yml new file mode 100644 index 000000000..d879be675 --- /dev/null +++ b/config/locales/models/address/ca.yml @@ -0,0 +1,12 @@ +--- +ca: + address: + attributes: + country: País + line1: Adreça línia 1 + line2: Adreça línia 2 + locality: Localitat + postal_code: Codi postal + region: Regió + format: "%{line1} %{line2}, %{locality}, %{region} %{postal_code} %{country}" + diff --git a/config/locales/models/entry/ca.yml b/config/locales/models/entry/ca.yml new file mode 100644 index 000000000..3c34c769c --- /dev/null +++ b/config/locales/models/entry/ca.yml @@ -0,0 +1,9 @@ +--- +ca: + activerecord: + errors: + models: + entry: + attributes: + base: + invalid_sell_quantity: no pots vendre %{sell_qty} accions de %{ticker} perquè només en tens %{current_qty} diff --git a/config/locales/models/import/ca.yml b/config/locales/models/import/ca.yml new file mode 100644 index 000000000..56ecfa5c6 --- /dev/null +++ b/config/locales/models/import/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + activerecord: + attributes: + import: + currency: Moneda + number_format: Format numèric + errors: + models: + import: + attributes: + raw_file_str: + invalid_csv_format: no és un format CSV vàlid + diff --git a/config/locales/models/time_series/value/ca.yml b/config/locales/models/time_series/value/ca.yml new file mode 100644 index 000000000..9990ae475 --- /dev/null +++ b/config/locales/models/time_series/value/ca.yml @@ -0,0 +1,10 @@ +--- +ca: + activemodel: + errors: + models: + time_series/value: + attributes: + value: + must_be_a_money_or_numeric: ha de ser un Money o un valor numèric + diff --git a/config/locales/models/transfer/ca.yml b/config/locales/models/transfer/ca.yml new file mode 100644 index 000000000..d146e635f --- /dev/null +++ b/config/locales/models/transfer/ca.yml @@ -0,0 +1,19 @@ +--- +ca: + activerecord: + errors: + models: + transfer: + attributes: + base: + inflow_cannot_be_in_multiple_transfers: La transacció d'entrada no pot formar part de múltiples transferències + must_be_from_different_accounts: La transferència ha de tenir comptes diferents + must_be_from_same_family: La transferència ha de ser de la mateixa família + must_be_within_date_range: Les dates de les transaccions de transferència han d'estar dins d'un marge de 4 dies + must_have_opposite_amounts: Les transaccions de transferència han de tenir imports oposats + must_have_single_currency: La transferència ha de tenir una sola moneda + outflow_cannot_be_in_multiple_transfers: La transacció de sortida no pot formar part de múltiples transferències + transfer: + name: Transferència a %{to_account} + payment_name: Pagament a %{to_account} + diff --git a/config/locales/models/trend/ca.yml b/config/locales/models/trend/ca.yml new file mode 100644 index 000000000..60350f2af --- /dev/null +++ b/config/locales/models/trend/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + activemodel: + errors: + models: + trend: + attributes: + current: + must_be_of_the_same_type_as_previous: ha de ser del mateix tipus que l'anterior + must_be_of_type_money_numeric_or_nil: ha de ser de tipus Money, numèric o nil + previous: + must_be_of_the_same_type_as_current: ha de ser del mateix tipus que l'actual + must_be_of_type_money_numeric_or_nil: ha de ser de tipus Money, numèric o nil + diff --git a/config/locales/models/user/ca.yml b/config/locales/models/user/ca.yml new file mode 100644 index 000000000..cb0c574a1 --- /dev/null +++ b/config/locales/models/user/ca.yml @@ -0,0 +1,21 @@ +--- +ca: + activerecord: + attributes: + user: + email: Correu electrònic + family: Família + family_id: Família + first_name: Nom + last_name: Cognom + password: Contrasenya + password_confirmation: Confirmació de contrasenya + errors: + models: + user: + attributes: + base: + cannot_deactivate_admin_with_other_users: L'administrador no pot eliminar el compte mentre hi hagi altres usuaris. Elimina tots els membres primer. + profile_image: + invalid_file_size: la mida del fitxer ha de ser inferior a %{max_megabytes}MB + diff --git a/config/locales/views/accounts/ca.yml b/config/locales/views/accounts/ca.yml new file mode 100644 index 000000000..cf1afef7b --- /dev/null +++ b/config/locales/views/accounts/ca.yml @@ -0,0 +1,66 @@ +--- +ca: + accounts: + account: + troubleshoot: Resolució de problemes + chart: + data_not_available: Dades no disponibles per al període seleccionat + create: + success: "Compte %{type} creat" + destroy: + success: "El compte %{type} s'ha programat per a l'eliminació" + empty: + empty_message: Afegeix un compte mitjançant connexió, importació o introducció manual. + new_account: Nou compte + no_accounts: Encara no hi ha cap compte + form: + balance: Saldo actual + name_label: Nom del compte + name_placeholder: Exemple de nom de compte + index: + accounts: Comptes + manual_accounts: + other_accounts: Altres comptes + new_account: Nou compte + sync: Sincronitza-ho tot + new: + import_accounts: Importa comptes + method_selector: + connected_entry: Enllaça el compte + connected_entry_eu: Enllaça el compte de la UE + manual_entry: Introdueix el saldo del compte + title: Com vols afegir-lo? + title: Què vols afegir? + show: + activity: + amount: Import + balance: Saldo + date: Data + entries: entrades + entry: entrada + new: Nou + new_balance: Nou saldo + new_transaction: Nova transacció + no_entries: No s'han trobat entrades + search: + placeholder: Cerca entrades per nom + title: Activitat + chart: + balance: Saldo + owed: Import degut + menu: + confirm_accept: Elimina "%{name}" + confirm_body_html: "

En eliminar aquest compte, s’esborrarà l’historial de valors, + afectant diversos aspectes del teu compte global. Aquesta acció tindrà un impacte + directe en el càlcul del teu patrimoni net i els gràfics dels comptes.


Després de l’eliminació, + no hi haurà manera de restaurar la informació del compte perquè hauràs d’afegir-lo com un compte nou.

" + confirm_title: Vols eliminar el compte? + edit: Edita + import: Importa transaccions + manage: Gestiona els comptes + update: + success: "Compte %{type} actualitzat" + email_confirmations: + new: + invalid_token: L'enllaç de confirmació no és vàlid o ha caducat. + success_login: El teu correu electrònic ha estat confirmat. Inicia sessió amb la nova adreça electrònica. \ No newline at end of file diff --git a/config/locales/views/accounts/en.yml b/config/locales/views/accounts/en.yml index e384ef790..d553b1636 100644 --- a/config/locales/views/accounts/en.yml +++ b/config/locales/views/accounts/en.yml @@ -42,6 +42,8 @@ en: new_balance: New balance new_transaction: New transaction no_entries: No entries found + search: + placeholder: Search entries by name title: Activity chart: balance: Balance diff --git a/config/locales/views/application/ca.yml b/config/locales/views/application/ca.yml new file mode 100644 index 000000000..52f76b8e7 --- /dev/null +++ b/config/locales/views/application/ca.yml @@ -0,0 +1,11 @@ +--- +ca: + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + unit: "€" + diff --git a/config/locales/views/categories/ca.yml b/config/locales/views/categories/ca.yml new file mode 100644 index 000000000..9a9ff9507 --- /dev/null +++ b/config/locales/views/categories/ca.yml @@ -0,0 +1,35 @@ +--- +ca: + categories: + bootstrap: + success: Categories per defecte creades correctament + category: + delete: Elimina categoria + edit: Edita categoria + create: + success: Categoria creada correctament + destroy: + success: Categoria eliminada correctament + edit: + edit: Edita categoria + form: + placeholder: Nom de la categoria + index: + bootstrap: Utilitza les predeterminades (recomanat) + categories: Categories + categories_expenses: Categories de despesa + categories_incomes: Categories d'ingressos + empty: No s'han trobat categories + new: Nova categoria + menu: + loading: Carregant... + new: + new_category: Nova categoria + update: + success: Categoria actualitzada correctament + category: + dropdowns: + show: + bootstrap: Genera categories per defecte + empty: No s'han trobat categories + diff --git a/config/locales/views/category/deletions/ca.yml b/config/locales/views/category/deletions/ca.yml new file mode 100644 index 000000000..dd68d50b0 --- /dev/null +++ b/config/locales/views/category/deletions/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + category: + deletions: + create: + success: Categoria de transacció eliminada correctament + new: + category: Categoria + delete_and_leave_uncategorized: Elimina "%{category_name}" i deixa sense categoritzar + delete_and_recategorize: Elimina "%{category_name}" i assigna una nova categoria + delete_category: Vols eliminar la categoria? + explanation: En eliminar aquesta categoria, totes les transaccions que tinguin la categoria "%{category_name}" quedaran sense categoritzar. En comptes de deixar-les sense categoria, pots assignar-ne una de nova a continuació. + replacement_category_prompt: Selecciona una categoria + diff --git a/config/locales/views/category/dropdowns/ca.yml b/config/locales/views/category/dropdowns/ca.yml new file mode 100644 index 000000000..00c4dccce --- /dev/null +++ b/config/locales/views/category/dropdowns/ca.yml @@ -0,0 +1,12 @@ +--- +ca: + category: + dropdowns: + row: + delete: Elimina categoria + edit: Edita categoria + show: + clear: Neteja categoria + no_categories: No s'han trobat categories + search_placeholder: Cerca + diff --git a/config/locales/views/credit_cards/ca.yml b/config/locales/views/credit_cards/ca.yml new file mode 100644 index 000000000..a5ae26e07 --- /dev/null +++ b/config/locales/views/credit_cards/ca.yml @@ -0,0 +1,26 @@ +--- +ca: + credit_cards: + edit: + edit: Edita %{account} + form: + annual_fee: Quota anual + annual_fee_placeholder: '99' + apr: TAE + apr_placeholder: '15.99' + available_credit: Crèdit disponible + available_credit_placeholder: '10000' + expiration_date: Data de caducitat + minimum_payment: Pagament mínim + minimum_payment_placeholder: '100' + new: + title: Introdueix les dades de la targeta de crèdit + overview: + amount_owed: Import degut + annual_fee: Quota anual + apr: TAE + available_credit: Crèdit disponible + expiration_date: Data de caducitat + minimum_payment: Pagament mínim + unknown: Desconegut + diff --git a/config/locales/views/cryptos/ca.yml b/config/locales/views/cryptos/ca.yml new file mode 100644 index 000000000..80feec540 --- /dev/null +++ b/config/locales/views/cryptos/ca.yml @@ -0,0 +1,8 @@ +--- +ca: + cryptos: + edit: + edit: Edita %{account} + new: + title: Introdueix el saldo del compte + diff --git a/config/locales/views/depositories/ca.yml b/config/locales/views/depositories/ca.yml new file mode 100644 index 000000000..cf2223490 --- /dev/null +++ b/config/locales/views/depositories/ca.yml @@ -0,0 +1,11 @@ +--- +ca: + depositories: + edit: + edit: Edita %{account} + form: + none: Cap + subtype_prompt: Selecciona el tipus de compte + new: + title: Introdueix el saldo del compte + diff --git a/config/locales/views/email_confirmation_mailer/ca.yml b/config/locales/views/email_confirmation_mailer/ca.yml new file mode 100644 index 000000000..d97e5c751 --- /dev/null +++ b/config/locales/views/email_confirmation_mailer/ca.yml @@ -0,0 +1,10 @@ +--- +ca: + email_confirmation_mailer: + confirmation_email: + body: Has sol·licitat recentment canviar la teva adreça de correu electrònic. Fes clic al botó de sota per confirmar aquest canvi. + cta: Confirma el canvi de correu + expiry_notice: Aquest enllaç caducarà en %{hours} hores. + greeting: Hola! + subject: '%{product_name}: Confirma el canvi de correu' + diff --git a/config/locales/views/entries/ca.yml b/config/locales/views/entries/ca.yml new file mode 100644 index 000000000..d67aa93bb --- /dev/null +++ b/config/locales/views/entries/ca.yml @@ -0,0 +1,15 @@ +--- +ca: + entries: + create: + success: Entrada creada + destroy: + success: Entrada eliminada + empty: + description: Prova d'afegir una entrada, editar els filtres o afinar la cerca + title: No s'han trobat entrades + loading: + loading: Carregant entrades... + update: + success: Entrada actualitzada + diff --git a/config/locales/views/family_exports/ca.yml b/config/locales/views/family_exports/ca.yml new file mode 100644 index 000000000..e3f26904a --- /dev/null +++ b/config/locales/views/family_exports/ca.yml @@ -0,0 +1,8 @@ +--- +ca: + family_exports: + list: + in_progress: En curs + complete: Completat + failed: Error + diff --git a/config/locales/views/holdings/ca.yml b/config/locales/views/holdings/ca.yml new file mode 100644 index 000000000..e179c6ef4 --- /dev/null +++ b/config/locales/views/holdings/ca.yml @@ -0,0 +1,36 @@ +--- +ca: + holdings: + cash: + brokerage_cash: Efectiu de broker + destroy: + success: Posició eliminada + holding: + per_share: per acció + shares: "%{qty} accions" + index: + average_cost: Cost mitjà + holdings: Posicions + name: Nom + new_holding: Nova transacció + no_holdings: No hi ha posicions per mostrar. + return: Rendiment total + weight: Pes + missing_price_tooltip: + description: Aquesta inversió té valors que falten i no hem pogut calcular-ne el rendiment o el valor. + missing_data: Falten dades + show: + avg_cost_label: Cost mitjà + current_market_price_label: Preu de mercat actual + delete: Elimina + delete_subtitle: Això eliminarà la posició i totes les operacions associades d'aquest compte. Aquesta acció no es pot desfer. + delete_title: Elimina posició + history: Historial + overview: Resum + portfolio_weight_label: Pes al portafolis + settings: Configuració + ticker_label: Ticker + trade_history_entry: "%{qty} accions de %{security} a %{price}" + total_return_label: Rendiment total + unknown: Desconegut + diff --git a/config/locales/views/impersonation_sessions/ca.yml b/config/locales/views/impersonation_sessions/ca.yml new file mode 100644 index 000000000..ca110743e --- /dev/null +++ b/config/locales/views/impersonation_sessions/ca.yml @@ -0,0 +1,16 @@ +--- +ca: + impersonation_sessions: + approve: + success: Sol·licitud aprovada + complete: + success: Sessió completada + create: + success: Sol·licitud enviada a l'usuari. Esperant aprovació. + join: + success: Sessió iniciada + leave: + success: Has sortit de la sessió + reject: + success: Sol·licitud rebutjada + diff --git a/config/locales/views/imports/ca.yml b/config/locales/views/imports/ca.yml new file mode 100644 index 000000000..8c09aa1ff --- /dev/null +++ b/config/locales/views/imports/ca.yml @@ -0,0 +1,79 @@ +--- +ca: + import: + cleans: + show: + description: Edita les teves dades a la taula de sota. Les cel·les vermelles són invàlides. + errors_notice: Hi ha errors a les teves dades. Passa el cursor per sobre de l'error per veure'n els detalls. + errors_notice_mobile: Hi ha errors a les teves dades. Toca la icona d'error per veure'n els detalls. + title: Neteja les teves dades + configurations: + mint_import: + date_format_label: Format de data + show: + description: Selecciona les columnes que corresponen a cada camp del teu CSV. + title: Configura la teva importació + trade_import: + date_format_label: Format de data + transaction_import: + date_format_label: Format de data + confirms: + mappings: + create_account: Crea un compte + csv_mapping_label: "%{mapping} al CSV" + sure_mapping_label: "%{mapping} a %{product_name}" + no_accounts: Encara no tens cap compte. Crea un compte que puguem utilitzar per a les files (sense assignar) del teu CSV o torna al pas de Neteja i proporciona un nom de compte que puguem utilitzar. + rows_label: Files + unassigned_account: Necessites crear un nou compte per a les files sense assignar? + show: + account_mapping_description: Assigna tots els comptes del teu fitxer importat als comptes existents de Maybe. També pots afegir nous comptes o deixar-los sense categoria. + account_mapping_title: Assigna els teus comptes + account_type_mapping_description: Assigna tots els tipus de compte del teu fitxer importat als de Maybe + account_type_mapping_title: Assigna els teus tipus de compte + category_mapping_description: Assigna totes les categories del teu fitxer importat a les categories existents de Maybe. També pots afegir-ne de noves o deixar-les sense categoria. + category_mapping_title: Assigna les teves categories + tag_mapping_description: Assigna totes les etiquetes del teu fitxer importat a les etiquetes existents de Maybe. També pots afegir-ne de noves o deixar-les sense categoria. + tag_mapping_title: Assigna les teves etiquetes + uploads: + show: + description: Enganxa o puja el teu fitxer CSV a continuació. Revisa les instruccions de la taula abans de començar. + instructions_1: A sota hi ha un exemple de CSV amb columnes disponibles per importar. + instructions_2: El teu CSV ha de tenir una fila d'encapçalament + instructions_3: Pots posar el nom que vulguis a les columnes. Les maparàs en un pas posterior. + instructions_4: Les columnes marcades amb un asterisc (*) són obligatòries. + instructions_5: Sense comes, símbols de moneda ni parèntesis als números. + title: Importa les teves dades + imports: + empty: + message: Encara no hi ha importacions. + new: Nova importació + import: + complete: Completat + delete: Elimina + failed: Error + in_progress: En curs + label: "%{type}: %{datetime}" + revert_failed: Reversió fallida + reverting: Revertint + uploading: Processant files + view: Veure + index: + imports: Importacions + new: Nova importació + title: Importa/Exporta + exports: Exportacions + new_export: Nova exportació + no_exports: Encara no hi ha exportacions. + new: + description: Pots importar manualment diversos tipus de dades via CSV o utilitzar una de les nostres plantilles d'importació com Mint. + import_accounts: Importa comptes + import_mint: Importa des de Mint + import_portfolio: Importa inversions + import_transactions: Importa transaccions + resume: Reprèn %{type} + sources: Fonts + title: Nova importació CSV + ready: + description: Aquí tens un resum dels nous elements que s'afegiran al teu compte un cop publiquis aquesta importació. + title: Confirma les teves dades d'importació + diff --git a/config/locales/views/investments/ca.yml b/config/locales/views/investments/ca.yml new file mode 100644 index 000000000..c96914f81 --- /dev/null +++ b/config/locales/views/investments/ca.yml @@ -0,0 +1,18 @@ +--- +ca: + investments: + edit: + edit: Edita %{account} + form: + none: Cap + subtype_prompt: Selecciona el tipus d'inversió + new: + title: Introdueix el saldo del compte + show: + chart_title: Valor total + value_tooltip: + cash: Efectiu + holdings: Posicions + total: Saldo del portafolis + total_value_tooltip: El saldo total del portafolis és la suma de l'efectiu de broker (disponible per operar) i el valor de mercat actual de les teves posicions. + diff --git a/config/locales/views/invitation_mailer/ca.yml b/config/locales/views/invitation_mailer/ca.yml new file mode 100644 index 000000000..448db1bac --- /dev/null +++ b/config/locales/views/invitation_mailer/ca.yml @@ -0,0 +1,9 @@ +--- +ca: + invitation_mailer: + invite_email: + accept_button: Accepta la invitació + body: "%{inviter} t'ha convidat a unir-te a la família %{family} a %{product_name}!" + expiry_notice: Aquesta invitació caducarà en %{days} dies + greeting: Benvingut/da a %{product_name}! + diff --git a/config/locales/views/invitations/ca.yml b/config/locales/views/invitations/ca.yml new file mode 100644 index 000000000..4bb751e5f --- /dev/null +++ b/config/locales/views/invitations/ca.yml @@ -0,0 +1,20 @@ +--- +ca: + invitations: + create: + failure: No s'ha pogut enviar la invitació + success: Invitació enviada correctament + destroy: + failure: Hi ha hagut un problema en eliminar la invitació. + not_authorized: No estàs autoritzat/da a gestionar invitacions. + success: La invitació s'ha eliminat correctament. + new: + email_label: Correu electrònic + email_placeholder: Introdueix el correu electrònic + role_admin: Administrador/a + role_label: Rol + role_member: Membre + submit: Envia invitació + subtitle: Envia una invitació per unir-te al teu compte familiar a Maybe + title: Convida algú + diff --git a/config/locales/views/invite_codes/ca.yml b/config/locales/views/invite_codes/ca.yml new file mode 100644 index 000000000..c18ac01f0 --- /dev/null +++ b/config/locales/views/invite_codes/ca.yml @@ -0,0 +1,7 @@ +--- +ca: + invite_codes: + index: + invite_code_description: Genera un nou codi per veure'l aquí. Els codis generats que s'hagin utilitzat ja no es mostraran. + no_invite_codes: No hi ha codis per mostrar + diff --git a/config/locales/views/layout/ca.yml b/config/locales/views/layout/ca.yml new file mode 100644 index 000000000..4741f505a --- /dev/null +++ b/config/locales/views/layout/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + layouts: + auth: + existing_account: Ja tens un compte? + no_account: Nou a %{product_name}? + sign_in: Inicia sessió + sign_up: Crea un compte + your_account: El teu compte + shared: + footer: + privacy_policy: Política de privacitat + terms_of_service: Termes del servei + diff --git a/config/locales/views/loans/ca.yml b/config/locales/views/loans/ca.yml new file mode 100644 index 000000000..09088961e --- /dev/null +++ b/config/locales/views/loans/ca.yml @@ -0,0 +1,24 @@ +--- +ca: + loans: + edit: + edit: Edita %{account} + form: + interest_rate: Tipus d'interès + interest_rate_placeholder: '5.25' + initial_balance: Saldo inicial del préstec + rate_type: Tipus d'interès + term_months: Termini (mesos) + term_months_placeholder: '360' + new: + title: Introdueix les dades del préstec + overview: + interest_rate: Tipus d'interès + monthly_payment: Quota mensual + not_applicable: N/A + original_principal: Principal original + remaining_principal: Principal pendent + term: Termini + type: Tipus + unknown: Desconegut + diff --git a/config/locales/views/merchants/ca.yml b/config/locales/views/merchants/ca.yml new file mode 100644 index 000000000..fa7e46708 --- /dev/null +++ b/config/locales/views/merchants/ca.yml @@ -0,0 +1,27 @@ +--- +ca: + family_merchants: + create: + error: "Error en crear el comerç: %{error}" + success: Comerç creat correctament + destroy: + success: Comerç eliminat correctament + edit: + title: Edita el comerç + form: + name_placeholder: Nom del comerç + index: + empty: Encara no hi ha comerços + new: Nou comerç + title: Comerços + merchant: + confirm_accept: Elimina el comerç + confirm_body: Segur que vols eliminar aquest comerç? Si l'elimines, es desvincularan totes les transaccions associades i pot afectar els teus informes. + confirm_title: Vols eliminar el comerç? + delete: Elimina el comerç + edit: Edita el comerç + new: + title: Nou comerç + update: + success: Comerç actualitzat correctament + diff --git a/config/locales/views/mfa/ca.yml b/config/locales/views/mfa/ca.yml new file mode 100644 index 000000000..1c27f57b9 --- /dev/null +++ b/config/locales/views/mfa/ca.yml @@ -0,0 +1,35 @@ +--- +ca: + mfa: + backup_codes: + backup_codes_description: Cada codi només es pot utilitzar una vegada. Guarda aquests codis de manera segura. + backup_codes_title: Els teus codis de recuperació + continue: Continua a la configuració de seguretat + description: Desa aquests codis de recuperació en un lloc segur; els necessitaràs si perds l'accés a l'app d'autenticació + page_title: Codis de recuperació + title: Desa els teus codis de recuperació + create: + invalid_code: Codi de verificació invàlid. Torna-ho a provar. + disable: + success: L'autenticació en dos passos s'ha desactivat + new: + code_label: Codi de verificació + code_placeholder: Introdueix el codi de 6 dígits + description: Millora la seguretat del teu compte activant l'autenticació en dos passos + page_title: Configuració de l'autenticació en dos passos + scan_description: Utilitza una app d'autenticació com Google Authenticator o 1Password per escanejar aquest codi QR + scan_title: 1. Escaneja el codi QR + secret_description: Si no pots escanejar el codi QR, introdueix aquesta clau manualment a la teva app d'autenticació + secret_title: Codi d'entrada manual + title: Activa l'autenticació en dos passos + verify_button: Verifica i activa 2FA + verify_description: Introdueix el codi de 6 dígits de la teva app d'autenticació + verify_title: 2. Introdueix el codi de verificació + verify: + description: Introdueix el codi de la teva app d'autenticació per continuar + page_title: Verifica l'autenticació en dos passos + title: Autenticació en dos passos + verify_button: Verifica + verify_code: + invalid_code: Codi d'autenticació invàlid. Torna-ho a provar. + diff --git a/config/locales/views/onboardings/ca.yml b/config/locales/views/onboardings/ca.yml new file mode 100644 index 000000000..3a420b874 --- /dev/null +++ b/config/locales/views/onboardings/ca.yml @@ -0,0 +1,28 @@ +--- +ca: + onboardings: + header: + sign_out: Tanca la sessió + preferences: + 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} + diff --git a/config/locales/views/other_assets/ca.yml b/config/locales/views/other_assets/ca.yml new file mode 100644 index 000000000..e873edf76 --- /dev/null +++ b/config/locales/views/other_assets/ca.yml @@ -0,0 +1,8 @@ +--- +ca: + other_assets: + edit: + edit: Edita %{account} + new: + title: Introdueix els detalls de l'actiu + diff --git a/config/locales/views/other_liabilities/ca.yml b/config/locales/views/other_liabilities/ca.yml new file mode 100644 index 000000000..2be1454e1 --- /dev/null +++ b/config/locales/views/other_liabilities/ca.yml @@ -0,0 +1,8 @@ +--- +ca: + other_liabilities: + edit: + edit: Edita %{account} + new: + title: Introdueix els detalls del passiu + diff --git a/config/locales/views/pages/ca.yml b/config/locales/views/pages/ca.yml new file mode 100644 index 000000000..30081e7b0 --- /dev/null +++ b/config/locales/views/pages/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + pages: + changelog: + title: Novetats + dashboard: + net_worth_chart: + data_not_available: No hi ha dades disponibles per al període seleccionat + title: Patrimoni net + no_account_empty_state: + new_account: Nou compte + no_account_subtitle: Com que no s'ha afegit cap compte, no hi ha dades per mostrar. Afegeix els teus primers comptes per començar a veure dades al tauler. + no_account_title: Encara no hi ha cap compte + diff --git a/config/locales/views/password_mailer/ca.yml b/config/locales/views/password_mailer/ca.yml new file mode 100644 index 000000000..1610f63a2 --- /dev/null +++ b/config/locales/views/password_mailer/ca.yml @@ -0,0 +1,9 @@ +--- +ca: + password_mailer: + password_reset: + cta: Restableix la contrasenya + ignore_if_not_requested: Si no has fet aquesta sol·licitud, pots ignorar aquest correu electrònic. + request_made: S'ha sol·licitat restablir la contrasenya de %{product_name}. Fes clic a l'enllaç per restablir-la. + subject: '%{product_name}: Restableix la contrasenya' + diff --git a/config/locales/views/password_resets/ca.yml b/config/locales/views/password_resets/ca.yml new file mode 100644 index 000000000..1dd86797b --- /dev/null +++ b/config/locales/views/password_resets/ca.yml @@ -0,0 +1,14 @@ +--- +ca: + password_resets: + edit: + title: Restableix la contrasenya + new: + requested: Si us plau, revisa el teu correu electrònic per un enllaç per restablir la contrasenya. + submit: Restableix la contrasenya + title: Restableix la contrasenya + back: Enrere + update: + invalid_token: Token invàlid. + success: La teva contrasenya s'ha restablert correctament. + diff --git a/config/locales/views/plaid_items/ca.yml b/config/locales/views/plaid_items/ca.yml new file mode 100644 index 000000000..3b9cfa708 --- /dev/null +++ b/config/locales/views/plaid_items/ca.yml @@ -0,0 +1,24 @@ +--- +ca: + plaid_items: + create: + success: Compte enllaçat correctament. Espera mentre es sincronitzen els comptes. + destroy: + success: Comptes programats per a l'eliminació. + plaid_item: + add_new: Afegeix nova connexió + confirm_accept: Elimina institució + confirm_body: Això eliminarà permanentment tots els comptes d'aquest grup i totes les dades associades. + confirm_title: Vols eliminar la institució? + connection_lost: Connexió perduda + connection_lost_description: Aquesta connexió ja no és vàlida. Hauràs d'eliminar-la i tornar-la a afegir per continuar sincronitzant dades. + delete: Elimina + error: S'ha produït un error en sincronitzar les dades + no_accounts_description: No hem pogut carregar cap compte d'aquesta entitat financera. + no_accounts_title: No s'han trobat comptes + requires_update: Cal tornar a autenticar + status: Darrera sincronització fa %{timestamp} + status_never: Cal sincronitzar dades + syncing: Sincronitzant... + update: Actualitza la connexió + diff --git a/config/locales/views/properties/ca.yml b/config/locales/views/properties/ca.yml new file mode 100644 index 000000000..496c9e355 --- /dev/null +++ b/config/locales/views/properties/ca.yml @@ -0,0 +1,33 @@ +--- +ca: + properties: + edit: + edit: Edita %{account} + form: + address_line1: Adreça + address_line1_placeholder: Carrer Major 123 + area: Superfície habitable + area_placeholder: '2000' + area_unit: Unitat de mesura + country: País + country_placeholder: ES + locality: Ciutat + locality_placeholder: Barcelona + none: Cap + postal_code: Codi postal + postal_code_placeholder: '08001' + region: Província/Comarca + region_placeholder: BCN + subtype_prompt: Selecciona el tipus d'immoble + year_built: Any de construcció + year_built_placeholder: '2000' + new: + title: Introdueix els detalls de l'immoble + overview: + living_area: Superfície habitable + market_value: Valor de mercat + purchase_price: Preu de compra + trend: Tendència + unknown: Desconegut + year_built: Any de construcció + diff --git a/config/locales/views/registrations/ca.yml b/config/locales/views/registrations/ca.yml new file mode 100644 index 000000000..748c25185 --- /dev/null +++ b/config/locales/views/registrations/ca.yml @@ -0,0 +1,25 @@ +--- +ca: + helpers: + label: + user: + invite_code: Codi d'invitació + submit: + user: + create: Continua + registrations: + create: + failure: Hi ha hagut un problema en registrar-te. + invalid_invite_code: Codi d'invitació invàlid, torna-ho a provar. + success: T'has registrat correctament. + new: + invitation_message: "%{inviter} t'ha convidat a unir-te com a %{role}" + join_family_title: Uneix-te a %{family} + role_admin: administrador/a + role_member: membre + submit: Crea el compte + title: Crea el teu compte + 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 Maybe! + password_placeholder: Introdueix la teva contrasenya + diff --git a/config/locales/views/sessions/ca.yml b/config/locales/views/sessions/ca.yml new file mode 100644 index 000000000..d06208ab2 --- /dev/null +++ b/config/locales/views/sessions/ca.yml @@ -0,0 +1,22 @@ +--- +ca: + sessions: + create: + invalid_credentials: Correu electrònic o contrasenya incorrectes. + destroy: + logout_successful: Has tancat la sessió correctament. + openid_connect: + failed: No s'ha pogut autenticar mitjançant OpenID Connect. + failure: + failed: No s'ha pogut autenticar. + new: + email: Correu electrònic + email_placeholder: tu@exemple.com + forgot_password: Has oblidat la contrasenya? + password: Contrasenya + submit: Inicia sessió + title: Inicia sessió al teu compte + password_placeholder: Introdueix la teva contrasenya + openid_connect: Inicia sessió amb OpenID Connect + google_auth_connect: Inicia sessió amb Google + diff --git a/config/locales/views/settings/api_keys/ca.yml b/config/locales/views/settings/api_keys/ca.yml new file mode 100644 index 000000000..a1aef57de --- /dev/null +++ b/config/locales/views/settings/api_keys/ca.yml @@ -0,0 +1,76 @@ +--- +ca: + settings: + api_keys_controller: + success: "La teva clau API s'ha creat correctament" + revoked_successfully: "La clau API s'ha revocat correctament" + revoke_failed: "No s'ha pogut revocar la clau API" + scope_descriptions: + read_accounts: "Veure comptes" + read_transactions: "Veure transaccions" + read_balances: "Veure saldos" + write_transactions: "Crear transaccions" + api_keys: + show: + title: "Gestió de claus API" + no_api_key: + title: "Clau API" + description: "Obtingues accés programàtic a les teves dades de Maybe amb una clau API segura." + what_you_can_do: "Què pots fer amb l'API:" + feature_1: "Accedeix a les teves dades de compte programàticament" + feature_2: "Construeix integracions i aplicacions personalitzades" + feature_3: "Automatitza la recuperació i anàlisi de dades" + security_note_title: "Seguretat primer" + security_note: "La teva clau API tindrà permisos restringits segons els escopos seleccionats. Només pots tenir una clau API activa alhora." + create_api_key: "Crea clau API" + current_api_key: + title: "La teva clau API" + description: "La teva clau API activa està llesta per utilitzar. Mantén-la segura i no la comparteixis mai públicament." + active: "Activa" + key_name: "Nom" + created_at: "Creat" + last_used: "Últim ús" + expires: "Caduca" + ago: "fa" + never_used: "Mai utilitzada" + never_expires: "No caduca mai" + permissions: "Permisos" + usage_instructions_title: "Com utilitzar la teva clau API" + usage_instructions: "Inclou la teva clau API a la capçalera X-Api-Key quan facis peticions a l'API de Maybe:" + regenerate_key: "Crea nova clau" + revoke_key: "Revoca clau" + revoke_confirmation: "Segur que vols revocar aquesta clau API? Aquesta acció no es pot desfer i desactivarà immediatament totes les aplicacions que utilitzin aquesta clau." + new: + title: "Crea clau API" + create_new_key: "Crea nova clau API" + description: "Configura la teva nova clau API amb un nom descriptiu i els permisos adequats." + name_label: "Nom de la clau API" + name_placeholder: "p. ex., App Producció, Tauler d'Anàlisi" + name_help: "Tria un nom descriptiu per identificar la finalitat d'aquesta clau." + permissions_label: "Permisos" + permissions_help: "Selecciona els permisos que necessita la teva clau API. Sempre pots crear una nova clau amb permisos diferents." + scope_details: + read_accounts: "Veure informació de compte, saldos i dades a nivell de compte" + read_transactions: "Veure dades de transaccions, categories i detalls de transaccions" + read_balances: "Veure dades històriques de saldo i tendències de valor de compte" + write_transactions: "Crear i actualitzar registres de transaccions (pròximament)" + security_warning_title: "Avís de seguretat important" + security_warning: "La teva clau API només es mostrarà una vegada després de la creació. Desa-la de manera segura i no la comparteixis mai públicament. Si la perds, hauràs de crear-ne una de nova." + create_key: "Crea clau API" + cancel: "Cancel·la" + created: + title: "Clau API creada" + success_title: "Clau API creada correctament" + success_description: "La teva nova clau API està llesta per utilitzar. Assegura't de copiar-la ara, ja que no la podràs tornar a veure." + your_api_key: "La teva clau API" + key_name: "Nom" + permissions: "Permisos" + critical_warning_title: "⚠️ Crític: Desa la teva clau API ara" + critical_warning_1: "Aquesta és l'única vegada que veuràs la teva clau API en text pla." + critical_warning_2: "Copia-la i desa-la de manera segura al teu gestor de contrasenyes o aplicació." + critical_warning_3: "Si perds aquesta clau, hauràs de crear-ne una de nova." + usage_instructions_title: "Guia ràpida" + usage_instructions: "Utilitza la teva clau API incloent-la a la capçalera X-Api-Key:" + copy_key: "Copia la clau API" + continue: "Continua a la configuració de claus API" + diff --git a/config/locales/views/settings/ca.yml b/config/locales/views/settings/ca.yml new file mode 100644 index 000000000..fd03b4f2b --- /dev/null +++ b/config/locales/views/settings/ca.yml @@ -0,0 +1,121 @@ +--- +ca: + settings: + ai_prompts: + show: + page_title: Prompts d'IA + openai_label: OpenAI + disable_ai: Desactiva l'assistent d'IA + prompt_instructions: Instruccions del prompt + main_system_prompt: + title: Prompt principal del sistema + subtitle: Instruccions bàsiques que defineixen el comportament de l'assistent d'IA a totes les converses + transaction_categorizer: + title: Categoritzador de transaccions + subtitle: La IA categoritza automàticament les teves transaccions segons les categories definides + merchant_detector: + title: Detector de comerços + subtitle: La IA identifica i enriqueix les dades de transaccions amb informació de comerç + billings: + show: + page_title: Facturació + subscription_subtitle: Actualitza la teva subscripció i dades de facturació + subscription_title: Gestiona la subscripció + preferences: + show: + country: País + currency: Moneda + date_format: Format de data + general_subtitle: Configura les teves preferències + general_title: General + default_period: Període per defecte + default_account_order: Ordre de comptes per defecte + language: Idioma + page_title: Preferències + theme_dark: Fosc + theme_light: Clar + theme_subtitle: Tria el tema preferit per a l'aplicació + theme_system: Sistema + theme_title: Tema + timezone: Fus horari + profiles: + destroy: + cannot_remove_self: No pots eliminar-te del compte. + member_removal_failed: Hi ha hagut un problema en eliminar el membre. + member_removed: Membre eliminat correctament. + not_authorized: No estàs autoritzat/da a eliminar membres. + show: + confirm_delete: + body: Segur que vols eliminar definitivament el teu compte? Aquesta acció és irreversible. + title: Eliminar el compte? + confirm_reset: + body: Segur que vols restablir el teu compte? Això eliminarà tots els teus comptes, categories, comerços, etiquetes i altres dades. Aquesta acció no es pot desfer. + title: Restablir el compte? + confirm_reset_with_sample_data: + body: Segur que vols restablir el teu compte i carregar dades d'exemple? Això eliminarà les teves dades existents i les substituirà per dades de demostració perquè puguis explorar Sure amb seguretat. + title: Restablir el compte i carregar dades d'exemple? + confirm_remove_invitation: + body: Segur que vols eliminar la invitació per a %{email}? + title: Eliminar invitació + confirm_remove_member: + body: Segur que vols eliminar %{name} del teu compte? + title: Eliminar membre + danger_zone_title: Zona perillosa + delete_account: Elimina el compte + delete_account_warning: Eliminar el teu compte suprimirà definitivament totes les teves dades i no es podrà desfer. + reset_account: Restableix el compte + reset_account_warning: Restablir el teu compte eliminarà tots els teus comptes, categories, comerços, etiquetes i altres dades, però mantindrà el teu usuari. + reset_account_with_sample_data: Restableix i pre-carrega + reset_account_with_sample_data_warning: Elimina totes les teves dades existents i carrega dades d'exemple per explorar amb un entorn preomplert. + email: Correu electrònic + first_name: Nom + household_form_input_placeholder: Introdueix el nom de la llar + household_form_label: Nom de la llar + household_subtitle: Convida membres de la família, parelles i altres persones. Els convidats podran accedir al teu compte familiar i als comptes compartits. + household_title: Llar + invitation_link: Enllaç d'invitació + invite_member: Afegeix membre + last_name: Cognom + page_title: Informació del perfil + pending: Pendent + profile_subtitle: Personalitza com apareixes a %{product} + profile_title: Personal + remove_invitation: Elimina invitació + remove_member: Elimina membre + save: Desa + securities: + show: + page_title: Valor + settings_nav: + accounts_label: Comptes + advanced_section_title: Avançat + ai_prompts_label: Prompts d'IA + api_key_label: Clau API + billing_label: Facturació + categories_label: Categories + feedback_label: Feedback + general_section_title: General + imports_label: Importa/Exporta + logout: Tanca la sessió + merchants_label: Comerços + guides_label: Guies + other_section_title: Més + preferences_label: Preferències + profile_label: Informació del perfil + rules_label: Regles + security_label: Seguretat + self_hosting_label: Autoallotjament + tags_label: Etiquetes + transactions_section_title: Transaccions + whats_new_label: Novetats + api_keys_label: Clau API + bank_sync_label: Sincronització bancària + settings_nav_link_large: + next: Següent + previous: Enrere + user_avatar_field: + accepted_formats: JPG o PNG. Màxim 5MB. + choose: Pujar foto + choose_label: (opcional) + change: Canvia la foto + diff --git a/config/locales/views/settings/hostings/ca.yml b/config/locales/views/settings/hostings/ca.yml new file mode 100644 index 000000000..a1d4fe212 --- /dev/null +++ b/config/locales/views/settings/hostings/ca.yml @@ -0,0 +1,51 @@ +--- +ca: + settings: + hostings: + invite_code_settings: + description: Cada nou usuari que s'uneixi a la teva instància de %{product} només ho podrà fer mitjançant un codi d'invitació + email_confirmation_description: Quan està activat, els usuaris hauran de confirmar el seu correu electrònic quan el canviïn. + email_confirmation_title: Requereix confirmació de correu electrònic + generate_tokens: Genera nou codi + generated_tokens: Codis generats + title: Requereix codi d'invitació per registrar-se + show: + general: Serveis externs + invites: Codis d'invitació + title: Autoallotjament + danger_zone: Zona perillosa + clear_cache: Neteja la memòria cau de dades + clear_cache_warning: Netejar la memòria cau de dades eliminarà tots els tipus de canvi, preus de valors, saldos de comptes i altres dades. Això no eliminarà comptes, transaccions, categories ni altres dades de l'usuari. + confirm_clear_cache: + title: Neteja la memòria cau de dades? + body: Segur que vols netejar la memòria cau de dades? Això eliminarà tots els tipus de canvi, preus de valors, saldos de comptes i altres dades. Aquesta acció no es pot desfer. + brand_fetch_settings: + description: Introdueix el Client ID proporcionat per Brand Fetch + label: Client ID + placeholder: Introdueix aquí el teu Client ID + title: Brand Fetch + openai_settings: + description: Introdueix el token d'accés i, opcionalment, configura un proveïdor OpenAI compatible personalitzat + env_configured_message: Configurat correctament mitjançant variables d'entorn. + access_token_label: Token d'accés + access_token_placeholder: Introdueix aquí el teu token d'accés + uri_base_label: URL base de l'API (opcional) + uri_base_placeholder: "https://api.openai.com/v1 (per defecte)" + model_label: Model (opcional) + model_placeholder: "gpt-4.1 (per defecte)" + title: OpenAI + twelve_data_settings: + api_calls_used: "%{used} / %{limit} crides diàries a l'API utilitzades (%{percentage})" + description: Introdueix la clau API proporcionada per Twelve Data + env_configured_message: Configurat correctament mitjançant la variable d'entorn TWELVE_DATA_API_KEY. + label: Clau API + placeholder: Introdueix aquí la teva clau API + plan: Pla %{plan} + title: Twelve Data + update: + failure: Valor de configuració invàlid + success: Configuració actualitzada + clear_cache: + cache_cleared: La memòria cau de dades s'ha netejat. Això pot trigar uns instants a completar-se. + not_authorized: No estàs autoritzat/da per realitzar aquesta acció + diff --git a/config/locales/views/settings/securities/ca.yml b/config/locales/views/settings/securities/ca.yml new file mode 100644 index 000000000..36c4b7c43 --- /dev/null +++ b/config/locales/views/settings/securities/ca.yml @@ -0,0 +1,11 @@ +--- +ca: + settings: + securities: + show: + disable_mfa: Desactiva 2FA + disable_mfa_confirm: Segur que vols desactivar l'autenticació en dos passos? Això farà que el teu compte sigui menys segur. + enable_mfa: Activa 2FA + mfa_description: Afegeix una capa extra de seguretat al teu compte requerint un codi de la teva app d'autenticació en iniciar sessió + mfa_title: Autenticació en dos passos + diff --git a/config/locales/views/shared/ca.yml b/config/locales/views/shared/ca.yml new file mode 100644 index 000000000..0b097852e --- /dev/null +++ b/config/locales/views/shared/ca.yml @@ -0,0 +1,15 @@ +--- +ca: + shared: + confirm_modal: + accept: Confirma + body_html: "

No podràs desfer aquesta acció

" + cancel: Cancel·la + title: Segur que vols continuar? + money_field: + label: Import + syncing_notice: + syncing: S'estan sincronitzant les dades dels comptes... + trend_change: + no_change: "sense canvis" + diff --git a/config/locales/views/simplefin_items/ca.yml b/config/locales/views/simplefin_items/ca.yml new file mode 100644 index 000000000..29932f3a7 --- /dev/null +++ b/config/locales/views/simplefin_items/ca.yml @@ -0,0 +1,48 @@ +--- +ca: + simplefin_items: + create: + success: Connexió SimpleFin afegida correctament! Els teus comptes apareixeran en breu mentre es sincronitzen en segon pla. + errors: + blank_token: Introdueix un token de configuració SimpleFin. + invalid_token: Token de configuració invàlid. Comprova que has copiat el token complet des de SimpleFin Bridge. + token_compromised: El token de configuració pot estar compromès, caducat o ja utilitzat. Crea'n un de nou. + create_failed: "No s'ha pogut connectar: %{message}" + unexpected: S'ha produït un error inesperat. Torna-ho a provar o contacta amb el suport. + destroy: + success: La connexió SimpleFin s'eliminarà + update: + success: Connexió SimpleFin actualitzada correctament! Els teus comptes s'estan tornant a connectar. + errors: + blank_token: Introdueix un token de configuració SimpleFin. + invalid_token: Token de configuració invàlid. Comprova que has copiat el token complet des de SimpleFin Bridge. + token_compromised: El token de configuració pot estar compromès, caducat o ja utilitzat. Crea'n un de nou. + update_failed: "No s'ha pogut actualitzar la connexió: %{message}" + unexpected: S'ha produït un error inesperat. Torna-ho a provar o contacta amb el suport. + edit: + setup_token: + label: "Token de configuració SimpleFin:" + placeholder: "Enganxa aquí el teu token de configuració SimpleFin..." + help_text: "El token ha de ser una cadena llarga que comenci amb lletres i números" + complete_account_setup: + success: Els comptes SimpleFin s'han configurat correctament! Les teves transaccions i posicions s'estan important en segon pla. + simplefin_item: + add_new: Afegeix nova connexió + confirm_accept: Elimina la connexió + confirm_body: Això eliminarà permanentment tots els comptes d'aquest grup i totes les dades associades. + confirm_title: Vols eliminar la connexió SimpleFin? + delete: Elimina + deletion_in_progress: "(eliminació en curs...)" + error: S'ha produït un error en sincronitzar les dades + no_accounts_description: Aquesta connexió encara no té cap compte sincronitzat. + no_accounts_title: No s'han trobat comptes + requires_update: Cal tornar a autenticar + setup_needed: Nous comptes llestos per configurar + setup_description: Tria els tipus de compte per als teus nous comptes SimpleFin importats. + setup_action: Configura nous comptes + status: Darrera sincronització fa %{timestamp} + status_never: Mai sincronitzat + status_with_summary: "Darrera sincronització fa %{timestamp} • %{summary}" + syncing: Sincronitzant... + update: Actualitza la connexió + diff --git a/config/locales/views/subscriptions/ca.yml b/config/locales/views/subscriptions/ca.yml new file mode 100644 index 000000000..1df30985e --- /dev/null +++ b/config/locales/views/subscriptions/ca.yml @@ -0,0 +1,5 @@ +--- +ca: + subscriptions: + self_hosted_alert: "%{product_name} no està disponible en mode autoallotjat." + diff --git a/config/locales/views/tag/deletions/ca.yml b/config/locales/views/tag/deletions/ca.yml new file mode 100644 index 000000000..7fa206d9e --- /dev/null +++ b/config/locales/views/tag/deletions/ca.yml @@ -0,0 +1,15 @@ +--- +ca: + tag: + deletions: + create: + deleted: Etiqueta eliminada + new: + delete_and_leave_uncategorized: Elimina "%{tag_name}" + delete_and_recategorize: Elimina "%{tag_name}" i assigna una nova etiqueta + delete_tag: Vols eliminar l'etiqueta? + explanation: "%{tag_name} s'eliminarà de les transaccions i altres entitats etiquetables. + En comptes de deixar-les sense etiqueta, pots assignar-ne una de nova a continuació." + replacement_tag_prompt: Selecciona una etiqueta + tag: Etiqueta + diff --git a/config/locales/views/tags/ca.yml b/config/locales/views/tags/ca.yml new file mode 100644 index 000000000..c91565eb4 --- /dev/null +++ b/config/locales/views/tags/ca.yml @@ -0,0 +1,24 @@ +--- +ca: + tags: + create: + created: Etiqueta creada + error: "Error en crear l'etiqueta: %{error}" + destroy: + deleted: Etiqueta eliminada + edit: + edit: Edita l'etiqueta + form: + placeholder: Nom de l'etiqueta + index: + empty: Encara no hi ha etiquetes + new: Nova etiqueta + tags: Etiquetes + new: + new: Nova etiqueta + tag: + delete: Elimina + edit: Edita + update: + updated: Etiqueta actualitzada + diff --git a/config/locales/views/trades/ca.yml b/config/locales/views/trades/ca.yml new file mode 100644 index 000000000..e4a449fe1 --- /dev/null +++ b/config/locales/views/trades/ca.yml @@ -0,0 +1,39 @@ +--- +ca: + trades: + form: + account: Compte de transferència (opcional) + account_prompt: Cerca compte + amount: Import + holding: Símbol del valor + price: Preu per acció + qty: Quantitat + submit: Afegeix transacció + ticker_placeholder: AAPL + type: Tipus + header: + buy: Compra + current_market_price_label: Preu de mercat actual + overview: Resum + purchase_price_label: Preu de compra + purchase_qty_label: Quantitat comprada + sell: Venda + symbol_label: Símbol + total_return_label: Guany/pèrdua no realitzada + new: + title: Nova transacció + show: + additional: Addicional + cost_per_share_label: Cost per acció + date_label: Data + delete: Elimina + delete_subtitle: Aquesta acció no es pot desfer + delete_title: Elimina operació + details: Detalls + exclude_subtitle: Aquesta operació no s'inclourà en informes ni càlculs + exclude_title: Exclou de l'analítica + note_label: Nota + note_placeholder: Afegeix aquí qualsevol nota addicional... + quantity_label: Quantitat + settings: Configuració + diff --git a/config/locales/views/transactions/ca.yml b/config/locales/views/transactions/ca.yml new file mode 100644 index 000000000..366d9d405 --- /dev/null +++ b/config/locales/views/transactions/ca.yml @@ -0,0 +1,82 @@ +--- +ca: + transactions: + form: + account: Compte + account_prompt: Selecciona un compte + amount: Import + category: Categoria + category_prompt: Selecciona una categoria + date: Data + description: Descripció + description_placeholder: Descriu la transacció + expense: Despesa + income: Ingrés + none: (cap) + note_label: Notes + note_placeholder: Introdueix una nota + submit: Afegeix transacció + tags_label: Etiquetes + transfer: Transferència + new: + new_transaction: Nova transacció + show: + account_label: Compte + amount: Import + category_label: Categoria + date_label: Data + delete: Elimina + delete_subtitle: Això eliminarà permanentment la transacció, afectarà els teus saldos històrics i no es podrà desfer. + delete_title: Eliminar transacció + details: Detalls + merchant_label: Comerciant + name_label: Nom + nature: Tipus + none: "(cap)" + note_label: Notes + note_placeholder: Introdueix una nota + overview: Resum + settings: Configuració + tags_label: Etiquetes + uncategorized: "(sense categoritzar)" + header: + edit_categories: Edita categories + edit_imports: Edita importacions + edit_merchants: Edita comerciants + edit_tags: Edita etiquetes + import: Importa + index: + transaction: transacció + transactions: transaccions + searches: + filters: + amount_filter: + equal_to: Igual a + greater_than: Major que + less_than: Menor que + placeholder: '0' + badge: + expense: Despesa + income: Ingrés + on_or_after: el %{date} o després + on_or_before: el %{date} o abans + transfer: Transferència + type_filter: + expense: Despesa + income: Ingrés + transfer: Transferència + menu: + account_filter: Compte + amount_filter: Import + apply: Aplica + cancel: Cancel·la + category_filter: Categoria + clear_filters: Neteja filtres + date_filter: Data + merchant_filter: Comerciant + tag_filter: Etiqueta + type_filter: Tipus + search: + equal_to: igual a + greater_than: major que + less_than: menor que \ No newline at end of file diff --git a/config/locales/views/transfers/ca.yml b/config/locales/views/transfers/ca.yml new file mode 100644 index 000000000..3b9cf4f11 --- /dev/null +++ b/config/locales/views/transfers/ca.yml @@ -0,0 +1,30 @@ +--- +ca: + transfers: + create: + success: Transferència creada + destroy: + success: Transferència eliminada + form: + amount: Import + date: Data + expense: Despesa + from: Des de + income: Ingrés + select_account: Selecciona un compte + submit: Crea transferència + to: Fins a + transfer: Transferència + new: + title: Nova transferència + show: + delete: Elimina transferència + delete_subtitle: Això eliminarà la transferència. No s'eliminaran les transaccions associades. + delete_title: Vols eliminar la transferència? + details: Detalls + note_label: Notes + note_placeholder: Afegeix una nota a aquesta transferència + overview: Resum + settings: Configuració + update: + success: Transferència actualitzada \ No newline at end of file diff --git a/config/locales/views/users/ca.yml b/config/locales/views/users/ca.yml new file mode 100644 index 000000000..9bae95f5c --- /dev/null +++ b/config/locales/views/users/ca.yml @@ -0,0 +1,15 @@ +--- +ca: + users: + destroy: + success: El teu compte s'ha eliminat. + update: + email_change_failed: No s'ha pogut canviar l'adreça de correu electrònic. + email_change_initiated: Revisa el teu nou correu electrònic per instruccions de confirmació. + success: El teu perfil s'ha actualitzat. + reset: + success: El teu compte s'ha restablert. Les dades s'eliminaran en segon pla en uns instants. + unauthorized: No estàs autoritzat/da per realitzar aquesta acció. + reset_with_sample_data: + success: El teu compte s'ha restablert i s'estan preparant dades de mostra. Veureu dades de demostració en breu. + diff --git a/config/locales/views/valuations/ca.yml b/config/locales/views/valuations/ca.yml new file mode 100644 index 000000000..ff48c711c --- /dev/null +++ b/config/locales/views/valuations/ca.yml @@ -0,0 +1,31 @@ +--- +ca: + valuations: + form: + amount: Import + submit: Afegeix actualització de saldo + header: + balance: Saldo + index: + change: canvi + date: data + new_entry: Nova entrada + no_valuations: Encara no hi ha valoracions per aquest compte + valuations: Valor + value: valor + new: + title: Nou saldo + show: + amount: Import + date_label: Data + delete: Elimina + delete_subtitle: Aquesta acció no es pot desfer + delete_title: Elimina entrada + details: Detalls + name_label: Nom + name_placeholder: Introdueix un nom per aquesta entrada + note_label: Notes + note_placeholder: Afegeix qualsevol detall addicional sobre aquesta entrada + overview: Resum + settings: Configuració + diff --git a/config/locales/views/vehicles/ca.yml b/config/locales/views/vehicles/ca.yml new file mode 100644 index 000000000..d9dbdedc9 --- /dev/null +++ b/config/locales/views/vehicles/ca.yml @@ -0,0 +1,26 @@ +--- +ca: + vehicles: + edit: + edit: Edita %{account} + form: + make: Marca + make_placeholder: Toyota + mileage: Quilometratge + mileage_placeholder: '15000' + mileage_unit: Unitat + model: Model + model_placeholder: Camry + year: Any + year_placeholder: '2023' + new: + title: Introdueix els detalls del vehicle + overview: + current_price: Preu actual + make_model: Marca i model + mileage: Quilometratge + purchase_price: Preu de compra + trend: Tendència + unknown: Desconegut + year: Any +