mirror of
https://github.com/we-promise/sure.git
synced 2026-05-29 23:39:03 +00:00
* refactor: rename beta features gate to preview features Renames the opt-in gate introduced in PR #1829 from "beta" to "preview". Same shape (per-user JSONB toggle, `before_action` concern, marker pill) just retitled so the surface speaks the language Sure uses elsewhere ("preview" reads as in-progress, "beta" had baggage with provider maturity copy and external testing programs). Renames: - BetaGateable -> PreviewGateable - require_beta_features! -> require_preview_features! - beta_features_enabled? -> preview_features_enabled? - preferences["beta_features_enabled"] -> preferences["preview_features_enabled"] - DS::Pill default label "Beta" -> "Preview" - Settings -> Preferences toggle copy "beta features" -> "preview features" - config/locales/views/beta/ -> config/locales/views/preview/ - docs/llm-guides/gating-a-beta-feature.md -> gating-a-preview-feature.md Includes a data migration that copies any existing `beta_features_enabled` JSONB key into `preview_features_enabled` so early opt-ins survive the rename, then removes the old key. The migration is fully reversible. Provider maturity copy ("maturity.beta = Beta" under Settings -> Bank sync) is intentionally untouched - that's a separate concept describing a provider's integration stability, not Sure's feature gate. * review: apply CodeRabbit findings on PR #1837 - Settings::PreferencesController#update now routes the `preview_features_enabled` input through strong params and casts via ActiveModel::Type::Boolean instead of reading raw params and string- comparing to "1". Matches Sure's controller convention for permitted params and avoids stringly-typed boolean handling. - Rename migration now wraps the destination JSONB key write in COALESCE so a row that somehow ends up with both keys keeps the destination value instead of having it overwritten by the source. Up and down paths get the same defensive shape. * 📝 CodeRabbit Chat: Implement requested code changes * 📝 CodeRabbit Chat: Implement requested code changes * fix: restore all missing translation keys; rename beta→preview label * fix: restore all missing sections (appearances, debugs, llm_usages, providers, etc.); rename beta→preview * fix: restore missing keys (member_removal_failed, confirm_delete, etc.); add preview section * fix(i18n/ca): use 'està en vista prèvia' instead of 'és una vista prèvia' * fix(i18n/ca): use 'en desenvolupament'; drop article in preview title * fix(i18n/es): use 'en desarrollo' instead of 'en progreso' * fix(i18n/ca): use 'funcions experimentals' instead of 'vista prèvia' * fix(i18n/es): use 'funciones experimentales' instead of 'vista previa' * fix(i18n/ca): use 'funcions experimentals' in preferences.show.preview * fix(i18n/es): use 'funciones experimentales' in preferences.show.preview * fix(i18n/ca): use 'Experimental' pill label instead of 'Vista prèvia' * fix(i18n/es): use 'Experimental' pill label instead of 'Vista previa' --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
161 lines
6.7 KiB
YAML
161 lines
6.7 KiB
YAML
---
|
|
ca:
|
|
UI:
|
|
account:
|
|
activity_date:
|
|
balance_tooltip: Saldo al final del dia, després de totes les transaccions
|
|
i ajustos
|
|
no_balance_data: No hi ha dades de saldo per a aquesta data
|
|
activity_feed:
|
|
toggle_selection_checkboxes: Commuta la selecció
|
|
balance_reconciliation:
|
|
labels:
|
|
adjustments: Ajustos
|
|
buys: Compres
|
|
change_in_brokerage_cash: Variació de l'efectiu del broker
|
|
change_in_holdings_market: Variació de les posicions (preu de mercat)
|
|
change_in_holdings_trades: Variació de les posicions (compres/vendes)
|
|
charges: Càrrecs
|
|
end_balance: Saldo final
|
|
end_principal: Capital final
|
|
end_value: Valor final
|
|
final_balance: Saldo final del dia
|
|
final_principal: Capital final del dia
|
|
final_value: Valor final del dia
|
|
market_changes: Variacions de mercat
|
|
net_cash_flow: Flux net d'efectiu
|
|
net_principal_change: Variació neta del capital
|
|
net_value_change: Variació neta del valor
|
|
payments: Pagaments
|
|
sells: Vendes
|
|
start_balance: Saldo inicial
|
|
start_principal: Capital inicial
|
|
start_value: Valor inicial
|
|
tooltips:
|
|
adjustments: Conciliacions manuals o altres ajustos
|
|
adjustments_asset: Ajustos de valor manuals o taxacions
|
|
buys: Compres de cripto durant el dia
|
|
change_in_brokerage_cash: Variació neta de l'efectiu per dipòsits, retirades
|
|
i operacions
|
|
change_in_holdings_market: Variació del valor de les posicions per moviments
|
|
del preu de mercat
|
|
change_in_holdings_trades: Impacte sobre les posicions per compres i vendes
|
|
de valors
|
|
charges: Nous càrrecs realitzats durant el dia
|
|
end_balance: Saldo calculat després de totes les transaccions
|
|
end_balance_investment: Saldo calculat després de tota l'activitat
|
|
end_principal: Capital calculat després de totes les transaccions
|
|
end_value: Valor calculat després de tots els canvis
|
|
final_balance: Saldo final del compte del dia
|
|
final_balance_credit: Saldo deutor final del dia
|
|
final_balance_crypto: Valor final de les posicions cripto del dia
|
|
final_balance_investment: Valor final de la cartera del dia
|
|
final_principal: Capital final del préstec del dia
|
|
final_value: Valor final de l'actiu del dia
|
|
market_changes: Variacions de valor pels moviments del preu de mercat
|
|
net_cash_flow: Variació neta del saldo per totes les transaccions del dia
|
|
net_principal_change: Pagaments de capital i nous préstecs durant el dia
|
|
net_value_change: Totes les variacions de valor incloent millores i depreciació
|
|
payments: Pagaments fets a la targeta durant el dia
|
|
sells: Vendes de cripto durant el dia
|
|
start_balance: Saldo del compte a l'inici del dia
|
|
start_balance_credit: Saldo deutor a l'inici del dia
|
|
start_balance_crypto: Valor de les posicions cripto a l'inici del dia
|
|
start_balance_investment: Valor total de la cartera a l'inici del dia
|
|
start_principal: Saldo del capital a l'inici del dia
|
|
start_value: Valor de l'actiu a l'inici del dia
|
|
chart:
|
|
no_data_available: No hi ha dades disponibles
|
|
title:
|
|
balance: Saldo
|
|
cash_value: Valor de l'efectiu
|
|
debt_balance: Saldo del deute
|
|
estimated_property_value: Valor estimat de l'immoble
|
|
estimated_vehicle_value: Valor estimat del vehicle
|
|
holdings_value: Valor de les posicions
|
|
remaining_principal_balance: Capital pendent
|
|
total_account_value: Valor total del compte
|
|
views:
|
|
cash: Efectiu
|
|
holdings: Posicions
|
|
total_value: Valor total
|
|
vs_available_history: vs. historial disponible
|
|
ds:
|
|
alert:
|
|
variants:
|
|
destructive: Error
|
|
error: Error
|
|
info: Informació
|
|
success: Èxit
|
|
warning: Avís
|
|
dialog:
|
|
close: Tanca
|
|
pill:
|
|
aria_label: "%{label}"
|
|
default_label: Experimental
|
|
provider_sync_summary:
|
|
accounts:
|
|
institutions: 'Institucions: %{count}'
|
|
linked: 'Vinculats: %{count}'
|
|
title: Comptes
|
|
total: 'Total: %{count}'
|
|
unlinked: 'Desvinculats: %{count}'
|
|
health:
|
|
data_warnings: 'Avisos de dades: %{count}'
|
|
duplicate_suggestions:
|
|
one: "%{count} duplicada possible necessita revisió"
|
|
other: "%{count} duplicades possibles necessiten revisió"
|
|
errors: 'Errors: %{count}'
|
|
notices: 'Notificacions: %{count}'
|
|
pending_reconciled:
|
|
one: "%{count} transacció pendent duplicada conciliada"
|
|
other: "%{count} transaccions pendents duplicades conciliades"
|
|
rate_limited: Sota límit de %{time_ago}
|
|
recently: recentment
|
|
stale_pending:
|
|
one: "%{count} transacció pendent obsoleta (exclosa dels pressupostos)"
|
|
other: "%{count} transaccions pendents obsoletes (excloses dels pressupostos)"
|
|
stale_pending_count:
|
|
one: "%{count} transacció"
|
|
other: "%{count} transaccions"
|
|
stale_unmatched:
|
|
one: "%{count} transacció pendent necessita revisió manual"
|
|
other: "%{count} transaccions pendents necessiten revisió manual"
|
|
stale_unmatched_count:
|
|
one: "%{count} transacció"
|
|
other: "%{count} transaccions"
|
|
title: Estat
|
|
view_data_quality: Veure detalls de qualitat de dades
|
|
view_duplicate_suggestions: Veure duplicades suggerides
|
|
view_error_details: Veure detalls de l'error
|
|
view_reconciled: Veure transaccions conciliades
|
|
view_stale_pending: Veure comptes afectats
|
|
view_stale_unmatched: Veure transaccions que necessiten revisió
|
|
holdings:
|
|
found: 'Trobat: %{count}'
|
|
processed: 'Processat: %{count}'
|
|
title: Posicions
|
|
last_sync: 'Última sincronització: fa %{time_ago}'
|
|
skip_reasons:
|
|
excluded: Excloses
|
|
import_locked: Importació CSV
|
|
protected: Protegides
|
|
user_modified: Modificades per l'usuari
|
|
title: Resum de sincronització
|
|
trades:
|
|
fetching: Recuperant activitats del broker...
|
|
imported: 'Importat: %{count}'
|
|
skipped: 'Omès: %{count}'
|
|
title: Operacions
|
|
transactions:
|
|
fetching: Recuperant del broker...
|
|
imported: 'Importat: %{count}'
|
|
protected:
|
|
one: "%{count} entrada protegida (no sobreescrita)"
|
|
other: "%{count} entrades protegides (no sobreescrites)"
|
|
seen: 'Vist: %{count}'
|
|
skipped: 'Omès: %{count}'
|
|
title: Transaccions
|
|
updated: 'Actualitzat: %{count}'
|
|
view_protected: Veure entrades protegides
|