feat(lang): add all brazilian portuguese translations#416
Conversation
WalkthroughAdds Brazilian Portuguese (pt-BR) localization across the app: many new locale YAML files (models, views, mailers) and registers "pt-BR" in SUPPORTED_LOCALES. No runtime logic changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
config/locales/views/investments/pt-BR.yml (1)
4-5: Minor: Consider reviewing the nested key redundancy inedit.edit.The key structure has
edit>editwhere both parent and child share the same name. While this may be intentional to match the view template structure, verify this aligns with how the translation is called in the view (e.g.,t('investments.edit.edit')). If there's a clearer naming convention across other views in the codebase, consider consistency.config/locales/views/family_exports/pt-BR.yml (1)
5-5: Remove trailing whitespace on line 5.Line 5 contains trailing whitespace after
Em andamento, which can cause YAML parsing issues and is generally considered poor practice.- in_progress: Em andamento + in_progress: Em andamentoconfig/locales/views/pages/pt-BR.yml (1)
5-36: Minor: Inconsistent quote usage in YAML values.Some values use quotes (e.g., lines 7–8, 20–22, 25–26) while others do not (e.g., lines 5, 9–11, 13–14). For consistency and safety, consider quoting all values that contain whitespace, interpolation, or special characters. While YAML parsers handle unquoted values correctly here, quoted values are more explicit.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (59)
config/locales/mailers/invitation_mailer/pt-BR.yml(1 hunks)config/locales/models/account/pt-BR.yml(1 hunks)config/locales/models/address/pt-BR.yml(1 hunks)config/locales/models/entry/pt-BR.yml(1 hunks)config/locales/models/import/pt-BR.yml(1 hunks)config/locales/models/time_series/value/pt-BR.yml(1 hunks)config/locales/models/transfer/pt-BR.yml(1 hunks)config/locales/models/trend/pt-BR.yml(1 hunks)config/locales/models/user/pt-BR.yml(1 hunks)config/locales/views/accounts/pt-BR.yml(1 hunks)config/locales/views/application/pt-BR.yml(1 hunks)config/locales/views/categories/pt-BR.yml(1 hunks)config/locales/views/category/deletions/pt-BR.yml(1 hunks)config/locales/views/category/dropdowns/pt-BR.yml(1 hunks)config/locales/views/credit_cards/pt-BR.yml(1 hunks)config/locales/views/cryptos/pt-BR.yml(1 hunks)config/locales/views/depositories/pt-BR.yml(1 hunks)config/locales/views/email_confirmation_mailer/pt-BR.yml(1 hunks)config/locales/views/entries/pt-BR.yml(1 hunks)config/locales/views/family_exports/pt-BR.yml(1 hunks)config/locales/views/holdings/pt-BR.yml(1 hunks)config/locales/views/impersonation_sessions/pt-BR.yml(1 hunks)config/locales/views/imports/pt-BR.yml(1 hunks)config/locales/views/investments/pt-BR.yml(1 hunks)config/locales/views/invitation_mailer/pt-BR.yml(1 hunks)config/locales/views/invitations/pt-BR.yml(1 hunks)config/locales/views/invite_codes/pt-BR.yml(1 hunks)config/locales/views/layout/pt-BR.yml(1 hunks)config/locales/views/loans/pt-BR.yml(1 hunks)config/locales/views/merchants/pt-BR.yml(1 hunks)config/locales/views/mfa/pt-BR.yml(1 hunks)config/locales/views/onboardings/pt-BR.yml(1 hunks)config/locales/views/other_assets/pt-BR.yml(1 hunks)config/locales/views/other_liabilities/pt-BR.yml(1 hunks)config/locales/views/pages/pt-BR.yml(1 hunks)config/locales/views/password_mailer/pt-BR.yml(1 hunks)config/locales/views/password_resets/pt-BR.yml(1 hunks)config/locales/views/passwords/pt-BR.yml(1 hunks)config/locales/views/plaid_items/pt-BR.yml(1 hunks)config/locales/views/properties/pt-BR.yml(1 hunks)config/locales/views/recurring_transactions/pt-BR.yml(1 hunks)config/locales/views/registrations/pt-BR.yml(1 hunks)config/locales/views/reports/pt-BR.yml(1 hunks)config/locales/views/sessions/pt-BR.yml(1 hunks)config/locales/views/settings/api_keys/pt-BR.yml(1 hunks)config/locales/views/settings/hostings/pt-BR.yml(1 hunks)config/locales/views/settings/pt-BR.yml(1 hunks)config/locales/views/settings/securities/pt-BR.yml(1 hunks)config/locales/views/shared/pt-BR.yml(1 hunks)config/locales/views/simplefin_items/pt-BR.yml(1 hunks)config/locales/views/subscriptions/pt-BR.yml(1 hunks)config/locales/views/tag/deletions/pt-BR.yml(1 hunks)config/locales/views/tags/pt-BR.yml(1 hunks)config/locales/views/trades/pt-BR.yml(1 hunks)config/locales/views/transactions/pt-BR.yml(1 hunks)config/locales/views/transfers/pt-BR.yml(1 hunks)config/locales/views/users/pt-BR.yml(1 hunks)config/locales/views/valuations/pt-BR.yml(1 hunks)config/locales/views/vehicles/pt-BR.yml(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
config/locales/**/*.yml
📄 CodeRabbit inference engine (CLAUDE.md)
Use hierarchical i18n keys by feature:
accounts.index.title,transactions.form.amount_label. Uset()helper for all user-facing strings with interpolation for dynamic content.
Files:
config/locales/views/shared/pt-BR.ymlconfig/locales/views/valuations/pt-BR.ymlconfig/locales/views/loans/pt-BR.ymlconfig/locales/models/user/pt-BR.ymlconfig/locales/models/import/pt-BR.ymlconfig/locales/views/password_mailer/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/invitations/pt-BR.ymlconfig/locales/views/accounts/pt-BR.ymlconfig/locales/mailers/invitation_mailer/pt-BR.ymlconfig/locales/views/categories/pt-BR.ymlconfig/locales/views/invite_codes/pt-BR.ymlconfig/locales/views/holdings/pt-BR.ymlconfig/locales/views/settings/pt-BR.ymlconfig/locales/models/transfer/pt-BR.ymlconfig/locales/models/entry/pt-BR.ymlconfig/locales/views/depositories/pt-BR.ymlconfig/locales/views/mfa/pt-BR.ymlconfig/locales/views/pages/pt-BR.ymlconfig/locales/views/simplefin_items/pt-BR.ymlconfig/locales/views/family_exports/pt-BR.ymlconfig/locales/views/passwords/pt-BR.ymlconfig/locales/views/credit_cards/pt-BR.ymlconfig/locales/views/settings/api_keys/pt-BR.ymlconfig/locales/views/settings/securities/pt-BR.ymlconfig/locales/views/onboardings/pt-BR.ymlconfig/locales/views/vehicles/pt-BR.ymlconfig/locales/models/account/pt-BR.ymlconfig/locales/views/transfers/pt-BR.ymlconfig/locales/views/imports/pt-BR.ymlconfig/locales/views/transactions/pt-BR.ymlconfig/locales/views/properties/pt-BR.ymlconfig/locales/views/entries/pt-BR.ymlconfig/locales/views/sessions/pt-BR.ymlconfig/locales/views/password_resets/pt-BR.ymlconfig/locales/views/tags/pt-BR.ymlconfig/locales/models/address/pt-BR.ymlconfig/locales/views/other_assets/pt-BR.ymlconfig/locales/views/impersonation_sessions/pt-BR.ymlconfig/locales/views/layout/pt-BR.ymlconfig/locales/views/email_confirmation_mailer/pt-BR.ymlconfig/locales/views/invitation_mailer/pt-BR.ymlconfig/locales/views/tag/deletions/pt-BR.ymlconfig/locales/views/recurring_transactions/pt-BR.ymlconfig/locales/views/merchants/pt-BR.ymlconfig/locales/views/other_liabilities/pt-BR.ymlconfig/locales/models/trend/pt-BR.ymlconfig/locales/views/settings/hostings/pt-BR.ymlconfig/locales/views/trades/pt-BR.ymlconfig/locales/views/reports/pt-BR.ymlconfig/locales/views/category/dropdowns/pt-BR.ymlconfig/locales/views/users/pt-BR.ymlconfig/locales/views/category/deletions/pt-BR.ymlconfig/locales/views/application/pt-BR.ymlconfig/locales/views/plaid_items/pt-BR.ymlconfig/locales/views/cryptos/pt-BR.ymlconfig/locales/views/registrations/pt-BR.ymlconfig/locales/views/investments/pt-BR.ymlconfig/locales/views/subscriptions/pt-BR.yml
config/**/*.{rb,yml,yaml}
📄 CodeRabbit inference engine (AGENTS.md)
Configuration files should be placed in
config/directory, with environment examples in.env.local.exampleand.env.test.example
Files:
config/locales/views/shared/pt-BR.ymlconfig/locales/views/valuations/pt-BR.ymlconfig/locales/views/loans/pt-BR.ymlconfig/locales/models/user/pt-BR.ymlconfig/locales/models/import/pt-BR.ymlconfig/locales/views/password_mailer/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/invitations/pt-BR.ymlconfig/locales/views/accounts/pt-BR.ymlconfig/locales/mailers/invitation_mailer/pt-BR.ymlconfig/locales/views/categories/pt-BR.ymlconfig/locales/views/invite_codes/pt-BR.ymlconfig/locales/views/holdings/pt-BR.ymlconfig/locales/views/settings/pt-BR.ymlconfig/locales/models/transfer/pt-BR.ymlconfig/locales/models/entry/pt-BR.ymlconfig/locales/views/depositories/pt-BR.ymlconfig/locales/views/mfa/pt-BR.ymlconfig/locales/views/pages/pt-BR.ymlconfig/locales/views/simplefin_items/pt-BR.ymlconfig/locales/views/family_exports/pt-BR.ymlconfig/locales/views/passwords/pt-BR.ymlconfig/locales/views/credit_cards/pt-BR.ymlconfig/locales/views/settings/api_keys/pt-BR.ymlconfig/locales/views/settings/securities/pt-BR.ymlconfig/locales/views/onboardings/pt-BR.ymlconfig/locales/views/vehicles/pt-BR.ymlconfig/locales/models/account/pt-BR.ymlconfig/locales/views/transfers/pt-BR.ymlconfig/locales/views/imports/pt-BR.ymlconfig/locales/views/transactions/pt-BR.ymlconfig/locales/views/properties/pt-BR.ymlconfig/locales/views/entries/pt-BR.ymlconfig/locales/views/sessions/pt-BR.ymlconfig/locales/views/password_resets/pt-BR.ymlconfig/locales/views/tags/pt-BR.ymlconfig/locales/models/address/pt-BR.ymlconfig/locales/views/other_assets/pt-BR.ymlconfig/locales/views/impersonation_sessions/pt-BR.ymlconfig/locales/views/layout/pt-BR.ymlconfig/locales/views/email_confirmation_mailer/pt-BR.ymlconfig/locales/views/invitation_mailer/pt-BR.ymlconfig/locales/views/tag/deletions/pt-BR.ymlconfig/locales/views/recurring_transactions/pt-BR.ymlconfig/locales/views/merchants/pt-BR.ymlconfig/locales/views/other_liabilities/pt-BR.ymlconfig/locales/models/trend/pt-BR.ymlconfig/locales/views/settings/hostings/pt-BR.ymlconfig/locales/views/trades/pt-BR.ymlconfig/locales/views/reports/pt-BR.ymlconfig/locales/views/category/dropdowns/pt-BR.ymlconfig/locales/views/users/pt-BR.ymlconfig/locales/views/category/deletions/pt-BR.ymlconfig/locales/views/application/pt-BR.ymlconfig/locales/views/plaid_items/pt-BR.ymlconfig/locales/views/cryptos/pt-BR.ymlconfig/locales/views/registrations/pt-BR.ymlconfig/locales/views/investments/pt-BR.ymlconfig/locales/views/subscriptions/pt-BR.yml
🧠 Learnings (19)
📓 Common learnings
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to config/locales/**/*.yml : Use hierarchical i18n keys by feature: `accounts.index.title`, `transactions.form.amount_label`. Use `t()` helper for all user-facing strings with interpolation for dynamic content.
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to **/*.{erb,html.erb,rb} : All user-facing strings must use localization (i18n) via the `t()` helper. Update locale files for each new or changed element.
Learnt from: jjmata
Repo: we-promise/sure PR: 189
File: app/views/password_resets/new.html.erb:14-14
Timestamp: 2025-10-07T09:51:02.265Z
Learning: In the we-promise/sure repository, use i18n methods (like `t()` or `I18n.t`) for all user-facing strings to maintain proper internationalization infrastructure. While translations should be provided, extensive localization work is not a priority at this stage of development.
Learnt from: jjmata
Repo: we-promise/sure PR: 173
File: app/mailers/email_confirmation_mailer.rb:9-9
Timestamp: 2025-10-01T11:40:36.711Z
Learning: In the we-promise/sure repository, i18n (internationalization) is used throughout the application for translations. When making branding configurable (e.g., product names), it's appropriate to add parameters like `product: product_name` to existing `t()` translation calls rather than replacing them with hardcoded strings.
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to config/locales/**/*.yml : Use hierarchical i18n keys by feature: `accounts.index.title`, `transactions.form.amount_label`. Use `t()` helper for all user-facing strings with interpolation for dynamic content.
Applied to files:
config/locales/views/shared/pt-BR.ymlconfig/locales/views/valuations/pt-BR.ymlconfig/locales/views/loans/pt-BR.ymlconfig/locales/models/user/pt-BR.ymlconfig/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/invitations/pt-BR.ymlconfig/locales/views/accounts/pt-BR.ymlconfig/locales/mailers/invitation_mailer/pt-BR.ymlconfig/locales/views/categories/pt-BR.ymlconfig/locales/views/invite_codes/pt-BR.ymlconfig/locales/views/holdings/pt-BR.ymlconfig/locales/views/settings/pt-BR.ymlconfig/locales/models/transfer/pt-BR.ymlconfig/locales/models/entry/pt-BR.ymlconfig/locales/views/depositories/pt-BR.ymlconfig/locales/views/mfa/pt-BR.ymlconfig/locales/views/pages/pt-BR.ymlconfig/locales/views/simplefin_items/pt-BR.ymlconfig/locales/views/credit_cards/pt-BR.ymlconfig/locales/views/settings/api_keys/pt-BR.ymlconfig/locales/views/settings/securities/pt-BR.ymlconfig/locales/views/onboardings/pt-BR.ymlconfig/locales/views/vehicles/pt-BR.ymlconfig/locales/models/account/pt-BR.ymlconfig/locales/views/transfers/pt-BR.ymlconfig/locales/views/imports/pt-BR.ymlconfig/locales/views/transactions/pt-BR.ymlconfig/locales/views/properties/pt-BR.ymlconfig/locales/views/tags/pt-BR.ymlconfig/locales/models/address/pt-BR.ymlconfig/locales/views/other_assets/pt-BR.ymlconfig/locales/views/layout/pt-BR.ymlconfig/locales/views/recurring_transactions/pt-BR.ymlconfig/locales/views/merchants/pt-BR.ymlconfig/locales/views/other_liabilities/pt-BR.ymlconfig/locales/models/trend/pt-BR.ymlconfig/locales/views/settings/hostings/pt-BR.ymlconfig/locales/views/trades/pt-BR.ymlconfig/locales/views/reports/pt-BR.ymlconfig/locales/views/users/pt-BR.ymlconfig/locales/views/application/pt-BR.ymlconfig/locales/views/plaid_items/pt-BR.ymlconfig/locales/views/cryptos/pt-BR.ymlconfig/locales/views/registrations/pt-BR.ymlconfig/locales/views/investments/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to **/*.{erb,html.erb,rb} : All user-facing strings must use localization (i18n) via the `t()` helper. Update locale files for each new or changed element.
Applied to files:
config/locales/views/shared/pt-BR.ymlconfig/locales/views/valuations/pt-BR.ymlconfig/locales/views/loans/pt-BR.ymlconfig/locales/models/user/pt-BR.ymlconfig/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/invitations/pt-BR.ymlconfig/locales/views/accounts/pt-BR.ymlconfig/locales/views/categories/pt-BR.ymlconfig/locales/views/invite_codes/pt-BR.ymlconfig/locales/views/holdings/pt-BR.ymlconfig/locales/views/settings/pt-BR.ymlconfig/locales/models/transfer/pt-BR.ymlconfig/locales/models/entry/pt-BR.ymlconfig/locales/views/depositories/pt-BR.ymlconfig/locales/views/mfa/pt-BR.ymlconfig/locales/views/pages/pt-BR.ymlconfig/locales/views/simplefin_items/pt-BR.ymlconfig/locales/views/credit_cards/pt-BR.ymlconfig/locales/views/settings/api_keys/pt-BR.ymlconfig/locales/views/onboardings/pt-BR.ymlconfig/locales/views/vehicles/pt-BR.ymlconfig/locales/models/account/pt-BR.ymlconfig/locales/views/transfers/pt-BR.ymlconfig/locales/views/imports/pt-BR.ymlconfig/locales/views/transactions/pt-BR.ymlconfig/locales/views/properties/pt-BR.ymlconfig/locales/views/entries/pt-BR.ymlconfig/locales/views/password_resets/pt-BR.ymlconfig/locales/views/tags/pt-BR.ymlconfig/locales/models/address/pt-BR.ymlconfig/locales/views/other_assets/pt-BR.ymlconfig/locales/views/layout/pt-BR.ymlconfig/locales/views/tag/deletions/pt-BR.ymlconfig/locales/views/recurring_transactions/pt-BR.ymlconfig/locales/views/merchants/pt-BR.ymlconfig/locales/views/other_liabilities/pt-BR.ymlconfig/locales/models/trend/pt-BR.ymlconfig/locales/views/settings/hostings/pt-BR.ymlconfig/locales/views/trades/pt-BR.ymlconfig/locales/views/reports/pt-BR.ymlconfig/locales/views/users/pt-BR.ymlconfig/locales/views/application/pt-BR.ymlconfig/locales/views/plaid_items/pt-BR.ymlconfig/locales/views/cryptos/pt-BR.ymlconfig/locales/views/registrations/pt-BR.ymlconfig/locales/views/investments/pt-BR.yml
📚 Learning: 2025-11-24T16:56:13.406Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .cursor/rules/project-conventions.mdc:0-0
Timestamp: 2025-11-24T16:56:13.406Z
Learning: Applies to **/*.{rb,js,erb} : Format currencies, numbers, dates, and other values server-side, then pass to Stimulus controllers for display only
Applied to files:
config/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/application/pt-BR.yml
📚 Learning: 2025-11-24T16:54:59.198Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:54:59.198Z
Learning: Applies to app/views/**/*.erb : Use server-side formatting for currencies, numbers, and dates instead of client-side
Applied to files:
config/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/views/application/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to **/*.{erb,html.erb,rb} : Use server-side formatting for currencies, numbers, and dates. Do not format in JavaScript.
Applied to files:
config/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to app/models/**/*.rb : All monetary values stored in base currency (user's primary currency). Use `Money` objects for currency conversion and formatting.
Applied to files:
config/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:54:59.198Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:54:59.198Z
Learning: Applies to app/models/**/*.rb : Store all monetary values in base currency (user's primary currency) and use Money objects for conversion
Applied to files:
config/locales/models/import/pt-BR.ymlconfig/locales/models/time_series/value/pt-BR.ymlconfig/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-04T16:21:39.347Z
Learnt from: sokie
Repo: we-promise/sure PR: 276
File: app/controllers/reports_controller.rb:80-84
Timestamp: 2025-11-04T16:21:39.347Z
Learning: The we-promise/sure codebase uses a custom Money class (lib/money.rb) that treats numeric inputs as dollar amounts, not fractional units (cents). When Money.new receives a numeric value, it converts it directly to BigDecimal via BigDecimal(obj.to_s) without multiplication. This differs from the standard ruby-money gem which expects cents/fractional units.
Applied to files:
config/locales/models/time_series/value/pt-BR.yml
📚 Learning: 2025-10-01T11:40:36.711Z
Learnt from: jjmata
Repo: we-promise/sure PR: 173
File: app/mailers/email_confirmation_mailer.rb:9-9
Timestamp: 2025-10-01T11:40:36.711Z
Learning: In the we-promise/sure repository, i18n (internationalization) is used throughout the application for translations. When making branding configurable (e.g., product names), it's appropriate to add parameters like `product: product_name` to existing `t()` translation calls rather than replacing them with hardcoded strings.
Applied to files:
config/locales/views/invitations/pt-BR.ymlconfig/locales/mailers/invitation_mailer/pt-BR.ymlconfig/locales/views/onboardings/pt-BR.ymlconfig/locales/views/layout/pt-BR.ymlconfig/locales/views/settings/hostings/pt-BR.ymlconfig/locales/views/subscriptions/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Applies to **/*.rb : Use Rails pluralization in i18n: `t("transactions.count", count: transactions.count)`.
Applied to files:
config/locales/models/transfer/pt-BR.ymlconfig/locales/models/account/pt-BR.ymlconfig/locales/views/transactions/pt-BR.yml
📚 Learning: 2025-10-07T09:51:02.265Z
Learnt from: jjmata
Repo: we-promise/sure PR: 189
File: app/views/password_resets/new.html.erb:14-14
Timestamp: 2025-10-07T09:51:02.265Z
Learning: In the we-promise/sure repository, use i18n methods (like `t()` or `I18n.t`) for all user-facing strings to maintain proper internationalization infrastructure. While translations should be provided, extensive localization work is not a priority at this stage of development.
Applied to files:
config/locales/views/onboardings/pt-BR.ymlconfig/locales/views/layout/pt-BR.yml
📚 Learning: 2025-11-24T16:56:30.669Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .cursor/rules/project-design.mdc:0-0
Timestamp: 2025-11-24T16:56:30.669Z
Learning: Account model is a Rails delegated type with subtypes: Depository, Investment, Crypto, Property, Vehicle, OtherAsset (assets) and CreditCard, Loan, OtherLiability (liabilities)
Applied to files:
config/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:56:30.669Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .cursor/rules/project-design.mdc:0-0
Timestamp: 2025-11-24T16:56:30.669Z
Learning: Entry model is a Rails delegated type with three subtypes: Valuation (absolute account value), Transaction (balance modification), and Trade (buy/sell for investment accounts)
Applied to files:
config/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:54:59.198Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:54:59.198Z
Learning: Domain model structure: User → has many Accounts → has many Transactions; Account types include checking, savings, credit cards, investments, crypto, loans, properties
Applied to files:
config/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:56:13.406Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .cursor/rules/project-conventions.mdc:0-0
Timestamp: 2025-11-24T16:56:13.406Z
Learning: Use Rails concerns for code organization around model 'traits' and shared functionality, not just for moving code to another location. Prefer models answering questions about themselves with methods like account.balance_series over service-like patterns
Applied to files:
config/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Core domain model: User → Accounts → Transactions. Accounts support types: checking, savings, credit cards, investments, crypto, loans, properties. Transactions belong to Categories and may have Tags and Rules.
Applied to files:
config/locales/models/account/pt-BR.yml
📚 Learning: 2025-11-24T16:55:43.069Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:55:43.069Z
Learning: Use Plaid integration for real-time bank account syncing via `PlaidItem`, `Sync` models, and background jobs for data updates.
Applied to files:
config/locales/views/plaid_items/pt-BR.yml
📚 Learning: 2025-11-24T16:54:59.198Z
Learnt from: CR
Repo: we-promise/sure PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:54:59.198Z
Learning: Use PlaidItem to manage Plaid connections and Sync to track sync operations for bank account syncing
Applied to files:
config/locales/views/plaid_items/pt-BR.yml
🪛 YAMLlint (1.37.1)
config/locales/views/accounts/pt-BR.yml
[error] 115-115: duplication of key "new" in mapping
(key-duplicates)
🔇 Additional comments (63)
config/locales/views/investments/pt-BR.yml (1)
1-18: Hierarchical i18n structure is well-organized and follows coding guidelines.The Brazilian Portuguese translations for investments views are properly structured with clear hierarchical nesting (
investments.edit.edit,investments.form.none, etc.) and appropriate use of interpolation for dynamic content (line 5:%{account}). The multi-line string fortotal_value_tooltipis correctly formatted in YAML.config/locales/views/family_exports/pt-BR.yml (1)
1-7: Hierarchical i18n structure looks good.The file follows proper YAML conventions and the hierarchical key structure (
family_exports.list.<status>) aligns well with the coding guidelines. Portuguese translations are accurate and contextually appropriate. As per coding guidelines, ensure this file and similar locale files uset()helper calls in views to reference these keys.config/locales/views/pages/pt-BR.yml (1)
1-37: Well-structured Brazilian Portuguese translations following i18n guidelines.The file correctly implements hierarchical keys organized by feature (
pages.changelog,pages.dashboard.*) and properly uses interpolation placeholders (%{name}on lines 7, 21, 22) for dynamic content. The YAML structure is valid with correct nesting and document markers.config/locales/views/merchants/pt-BR.yml (2)
1-27: Good alignment with i18n guidelines and consistent hierarchical structure.The file follows the established hierarchical i18n pattern (
family_merchants.create.error,family_merchants.form.name_placeholder, etc.) as outlined in the coding guidelines. The organization by action (create, destroy, edit, index, update) and feature context is clean and maintainable. All user-facing strings are appropriately localized.
19-20: Verify YAML syntax for multi-line string value.The
confirm_bodyvalue spans lines 19-20 without explicit YAML multi-line markers (e.g.,|for literal or>for folded). This implicit continuation may not parse correctly as a single string in all YAML processors.Recommended fix — use explicit folded scalar syntax to ensure proper parsing:
confirm_body: > - Tem certeza de que deseja excluir este comerciante? Remover este comerciante - desvinculará todas as transações associadas e pode afetar seus relatórios. + Tem certeza de que deseja excluir este comerciante? Remover este comerciante + desvinculará todas as transações associadas e pode afetar seus relatórios.Alternatively, join into a single line if the message is not too long. Verify that existing translation files in
config/locales/use similar multi-line patterns or explicit syntax.config/locales/views/settings/api_keys/pt-BR.yml (1)
1-76: Well-structured translation file following i18n best practices.The Brazilian Portuguese translations are properly organized with hierarchical keys by feature (
settings.api_keys_controller,settings.api_keys.show|new|created), correct YAML syntax, and appropriate use of Rails i18n interpolation syntax (%{product_name}). The translations cover all necessary UI elements including controller messages, view sections, labels, placeholders, help text, warnings, and actions.config/locales/views/simplefin_items/pt-BR.yml (1)
1-60: Verify SimpleFin branding consistency against English locale files.The translation file follows Rails i18n conventions and hierarchical structure well, with proper key organization and interpolation placeholders. However, brand name variations appear in the pt-BR file:
- Lines 14, 24: "SimpleFin Bridge"
- Lines 36, 57: "SimpleFIN" (all caps)
- Other lines: "SimpleFin" (mixed case)
Compare against the English locale file to confirm whether these represent intentional product distinctions (SimpleFin Bridge is a separate service/API, SimpleFIN in all caps is official branding, etc.) or if standardization is needed throughout.
config/locales/views/onboardings/pt-BR.yml (1)
1-28: File structure follows i18n conventions; verify view integration separately.The translation file properly uses hierarchical organization by feature/section (onboardings > header/preferences/profile/show) and correctly applies interpolation (
%{product_name}) for dynamic content. YAML structure is valid with proper indentation.Ensure that:
- All translation keys defined here are used in corresponding onboarding view templates via the
t()helper- The English locale file mirrors this key structure
- Translations are reviewed by a native Brazilian Portuguese speaker for accuracy and cultural appropriateness
config/locales/views/properties/pt-BR.yml (4)
6-23: Form fields structure looks correct.The form field translations follow a consistent pattern with labels and placeholders. The hierarchy (
properties.form.address_line1,properties.form.area, etc.) properly mirrors the field structure as per coding guidelines.
24-32: Overview and new sections follow the pattern correctly.The
newandoverviewsections maintain proper hierarchical structure with descriptive keys. The translations appear semantically appropriate for property management UI.
4-5: Verify that theaccountvariable is passed when usingproperties.edit.edittranslation.The interpolation variable
%{account}requires the corresponding variable to be available in the rendering context. Search the codebase for calls to this translation key (e.g.,t('properties.edit.edit', account: ...)) to ensure the variable is properly supplied.
1-32: Verify key consistency with the English locale file.The hierarchical structure and YAML formatting follow the coding guidelines correctly. However, ensure the pt-BR keys match the structure in the English locale file (
config/locales/views/properties/en.yml), and verify that the interpolation variable%{account}on line 5 is used consistently across all related locale files.config/locales/views/depositories/pt-BR.yml (1)
1-10: Translation structure is sound and follows i18n conventions.The hierarchical key organization (
depositories.edit.edit,depositories.form.*, etc.) and appropriate use of interpolation (%{account}) align with established patterns.config/locales/views/shared/pt-BR.yml (1)
1-14: Hierarchical organization and markup handling are appropriate.The structure properly groups shared UI components, and the embedded HTML in
body_html(Line 6) follows Rails convention for rich content in translation strings.config/locales/views/subscriptions/pt-BR.yml (1)
1-4: Concise and appropriate use of interpolation.The single translation key follows naming conventions, and the
%{product_name}interpolation aligns with patterns for configurable branding mentioned in the learnings.config/locales/views/application/pt-BR.yml (1)
1-10: Currency formatting values are correct for Brazil.The number format configuration properly reflects Brazilian conventions: comma for decimals, period for thousands grouping, and R$ symbol. All precision and format settings are appropriate.
config/locales/views/password_mailer/pt-BR.yml (1)
1-10: Email translations are complete and properly structured.Hierarchical keys, multi-line content, and appropriate use of
%{product_name}interpolation follow established patterns. All necessary email elements (subject, body, CTA) are present.config/locales/views/tags/pt-BR.yml (1)
1-23: Comprehensive CRUD translations with consistent messaging patterns.The file covers all tag management operations (create, destroy, edit, update, index, form, new) with a consistent message structure. Interpolation for error details and clear, natural Portuguese phrasing make the UX translations effective.
config/locales/views/password_resets/pt-BR.yml (1)
1-12: Password reset flow translations are complete and appropriate.All password reset views and state transitions (new, edit, update) have clear, natural Portuguese translations. Error and success messages are well-positioned for user guidance through the flow.
config/locales/models/time_series/value/pt-BR.yml (1)
1-9: Verify the activemodel namespace is appropriate for this model's validation.The file uses
activemodel:namespace for validation errors. Confirm that theTime Series::Valuemodel is configured to use activemodel validations (e.g., viaActiveModel::Validationsinclusion) rather than ActiveRecord validations, which would use theactiverecord:namespace. Based on project conventions, complex business logic validations typically use ActiveRecord, suggestingactiverecord:may be the correct namespace.config/locales/views/valuations/pt-BR.yml (1)
1-30: Structure and hierarchy look solid.The valuations translations follow the hierarchical i18n key pattern (valuations → form/header/index/new/show → individual labels) as expected per coding guidelines. Translations are complete and properly formatted.
config/locales/views/category/deletions/pt-BR.yml (1)
1-15: Deletion flow translations are well-structured with proper parameterization.The category deletion translations correctly use interpolation for the category name (%{category_name}) in multiple contexts, enabling reusable translations per coding guidelines.
config/locales/views/passwords/pt-BR.yml (1)
1-10: Clear, minimal password form translations.Structure is correct and translations are appropriately concise for form labels and feedback messages.
config/locales/views/email_confirmation_mailer/pt-BR.yml (1)
1-10: Email confirmation translations properly parameterized for branding and dynamic content.Uses %{product_name} and %{hours} interpolations as expected per learnings. Structure and multi-line text formatting are correct.
config/locales/views/vehicles/pt-BR.yml (1)
1-25: Vehicle translations well-organized with realistic form placeholders.Structure follows the feature-context-element hierarchy correctly. Form placeholders use practical examples, and overview sections are clearly labeled. The %{account} interpolation in the edit view is appropriate.
config/locales/views/layout/pt-BR.yml (1)
1-12: Verify dotted key structure matches existing locale files.Line 4 uses a dotted key name ("auth.sign_up") while line 9 uses normal nesting ("shared" → "footer"). This inconsistency may indicate either a stylistic choice or a mismatch with how the views reference these keys. Without seeing the existing en-US structure or view code, I cannot confirm the intended key path.
To verify the structure is correct, please confirm:
- Does the existing en-US file at
config/locales/views/layout/en.ymluse the same dotted key structure for "auth.sign_up"?- Are the keys referenced in view code as
t('layouts.auth.sign_up.sign_in')or with a different path?Alternatively, if this was intentional, consider documenting why the structure differs from the "shared" section.
config/locales/views/invite_codes/pt-BR.yml (1)
1-7: Index view translations are clear and concise.Hierarchical structure is correct, and multi-line text is properly formatted. Descriptions are clear about invite code behavior.
config/locales/views/invitation_mailer/pt-BR.yml (1)
1-8: Invitation mailer translations are well-parameterized for reusability.Correctly uses multiple interpolations (%{inviter}, %{family}, %{product_name}, %{days}) per the learning on parameterized branding. Structure and formatting are consistent with mailer i18n patterns.
config/locales/views/loans/pt-BR.yml (1)
1-23: LGTM!The hierarchical i18n structure follows the coding guidelines correctly, with clear feature-specific keys. All Portuguese translations are contextually appropriate, and interpolation syntax is properly used.
config/locales/models/user/pt-BR.yml (1)
1-21: LGTM!The file correctly follows Rails ActiveRecord i18n conventions for model attributes and error messages. Multi-line error strings are properly formatted, and dynamic content interpolation is correct.
config/locales/views/settings/securities/pt-BR.yml (1)
1-12: LGTM!The hierarchical structure correctly nests settings → securities → show. Multi-line strings for confirmation prompts and descriptions are properly formatted with YAML continuation.
config/locales/views/other_assets/pt-BR.yml (1)
1-9: LGTM!Hierarchical structure is correct. The duplication of
balance_tracking_infoacross edit and new sections follows standard Rails i18n practice, allowing independent context management for identical text.config/locales/views/cryptos/pt-BR.yml (1)
1-7: LGTM!Concise and correctly structured with proper hierarchical nesting and interpolation syntax.
config/locales/views/other_liabilities/pt-BR.yml (1)
1-7: LGTM!Consistent structure with related view locale files. Hierarchical nesting and interpolation are correct.
config/locales/views/categories/pt-BR.yml (1)
1-34: LGTM!Comprehensive coverage with clear hierarchical nesting. The dual namespace (categories + category for dropdowns) is appropriately organized. Success messages and empty/loading states follow consistent patterns. Portuguese translations are contextually appropriate.
config/locales/models/address/pt-BR.yml (1)
1-11: Verify that theaddress:namespace matches the Address model name.The singular form is standard Rails convention for i18n keys, but confirm this matches the actual model class definition in
app/models/.config/locales/views/category/dropdowns/pt-BR.yml (1)
1-11: LGTM!The hierarchical structure follows coding guidelines with feature-based keys (
category.dropdowns.row.delete,category.dropdowns.show.clear, etc.). All translations are complete and properly formatted.config/locales/models/trend/pt-BR.yml (1)
1-15: LGTM!The activemodel error structure follows Rails conventions correctly. Interpolation syntax with
%{}placeholders is proper, and multi-line YAML strings are correctly indented.config/locales/views/transfers/pt-BR.yml (1)
1-31: LGTM!The hierarchical structure is well-organized with feature-based keys (
transfers.create.success,transfers.form.amount, etc.). Multi-line strings are properly formatted with correct indentation.config/locales/models/entry/pt-BR.yml (1)
1-10: LGTM!Follows Rails activerecord error conventions. Interpolation with three placeholders (
%{sell_qty},%{ticker},%{current_qty}) is syntactically correct, and multi-line formatting is proper.config/locales/views/mfa/pt-BR.yml (1)
1-38: LGTM!Comprehensive and well-organized MFA translations with proper hierarchical structure (
mfa.backup_codes.backup_codes_description,mfa.new.code_label, etc.). Formatting and multi-line strings are correct throughout.config/locales/views/users/pt-BR.yml (1)
1-17: LGTM!Feature-based hierarchical keys are properly structured (
users.destroy.success,users.update.email_change_initiated, etc.). Multi-line strings are correctly formatted.config/locales/views/imports/pt-BR.yml (1)
1-47: LGTM (excluding the quotation mark issue above).The rest of the file shows proper hierarchical structure with comprehensive imports translations. Interpolation syntax is correct elsewhere (e.g., lines 30, 39, 43, 45, 73, 93), and multi-line YAML formatting is proper throughout.
Also applies to: 53-99
config/locales/views/settings/pt-BR.yml (1)
1-112: LGTM!Comprehensive settings translations with proper multi-level hierarchical structure (
settings.ai_prompts.show.page_title,settings.profiles.show.confirm_delete.body, etc.). Interpolation syntax is correct (lines 78, 55), and multi-line strings are properly formatted throughout.config/locales/views/credit_cards/pt-BR.yml (1)
1-25: Structure and translations look good.The hierarchy follows best practices (e.g.,
credit_cards.form.annual_fee) and the interpolation parameter%{account}on line 5 is properly used. All keys are well-organized by feature section.config/locales/views/tag/deletions/pt-BR.yml (1)
1-15: Proper hierarchy and multiline string handling.The multiline strings on lines 11-13 are correctly formatted with preserved line breaks. The interpolation for
%{tag_name}on lines 8-9 and 11 is properly set up. All keys follow the feature hierarchy pattern.config/locales/views/impersonation_sessions/pt-BR.yml (1)
1-15: Simple, consistent structure.Each action (approve, complete, create, etc.) has a single
successkey with appropriate Portuguese translations. The hierarchy follows the guideline pattern. Straight forward and well-organized.config/locales/views/sessions/pt-BR.yml (1)
1-23: Well-structured authentication flows.The hierarchy correctly groups session creation, destruction, OpenID Connect, and login form fields. Multiline content on lines 22-23 for the demo banner is properly quoted and formatted. All error and success messages are clearly organized by action and section.
config/locales/views/settings/hostings/pt-BR.yml (1)
1-73: Comprehensive hosting settings with proper interpolation.Large and complex file with well-organized sections for various hosting configuration features (invite codes, provider selection, OpenAI settings, etc.). Interpolation parameters like
%{product},%{used},%{limit},%{percentage}, and%{plan}are consistently used for dynamic content. Multiline descriptions are properly formatted. Hierarchy correctly follows the patternsettings.hostings.{feature}.{key}.config/locales/views/trades/pt-BR.yml (1)
1-38: Clean structure for investment trades.The trades section is well-organized with form fields, headers, and trade details separated into appropriate subsections. Multiline descriptions on lines 30 and 33 are properly formatted. Placeholders like
ticker_placeholderuse realistic examples. Hierarchy follows best practices.config/locales/views/plaid_items/pt-BR.yml (1)
1-31: Good structure for Plaid integration flows.The hierarchy properly groups account linking operations, error states, and account selection flows. Interpolation parameters
%{timestamp}(line 23) and%{account_name}(line 28) are correctly used for dynamic content. Multiline descriptions for error states and confirmations are properly formatted.config/locales/views/holdings/pt-BR.yml (1)
1-37: Well-structured investment holdings interface.The holdings translations properly organize portfolio components (cash, holdings overview, individual holding details). Interpolation parameters
%{qty},%{security}, and%{price}are correctly used on line 35 to display trade history entries. Multiline description for missing price data is properly formatted. All sections follow the hierarchy guideline pattern.config/locales/models/import/pt-BR.yml (1)
1-13: LGTM!Proper hierarchical i18n structure for Import model translations. Attributes and error messages are correctly organized under activerecord namespaces.
config/locales/views/entries/pt-BR.yml (1)
1-14: LGTM!Clean hierarchical structure for entries view translations with proper action-based organization (create, destroy, empty, loading, update).
config/locales/views/invitations/pt-BR.yml (1)
1-19: LGTM!Proper hierarchical structure with consistent use of interpolation parameters (
%{product_name}) that align with related mailer translations and learnings about parameterized i18n keys.config/locales/views/registrations/pt-BR.yml (1)
1-25: LGTM!Well-structured registration view translations with consistent hierarchical organization and proper use of parameterized interpolation (
%{inviter},%{role},%{family},%{product_name}) aligned with the application's i18n conventions.config/locales/mailers/invitation_mailer/pt-BR.yml (1)
1-5: LGTM!Proper mailer translation structure with consistent interpolation parameters (
%{inviter},%{product_name}) that complement related invitation view and UI translations.config/locales/models/account/pt-BR.yml (1)
1-21: LGTM!Comprehensive Account model translations with proper hierarchical organization. Model subtypes (credit card, depository, investment, loan, etc.) are correctly nested following the delegated type structure.
config/locales/models/transfer/pt-BR.yml (1)
1-22: LGTM!Well-organized Transfer model translations with comprehensive validation error messages under activerecord namespace. Proper multi-line YAML formatting and consistent interpolation for
%{to_account}in transfer names.config/locales/views/accounts/pt-BR.yml (1)
1-113: Comprehensive accounts view translations well-organized.Lines 1-113 follow proper hierarchical i18n structure with consistent interpolation patterns (
%{type},%{provider},%{account_name},%{account_group},%{product},%{error}). Account type mappings and UI strings are well-organized by action and concern (create, destroy, form, index, show, sync, types, etc.).config/locales/views/transactions/pt-BR.yml (1)
1-86: Proper i18n structure and compliance with guidelines.The file follows hierarchical i18n key organization by feature (
transactions.*), uses proper YAML structure, and employs correct Rails i18n interpolation syntax (%{...}). All sections are logically organized by view/feature (form, new, show, searches), and translations appear complete for the transactions domain.To ensure completeness, please verify that all key paths in this file match their counterparts in the English locale file (
config/locales/views/transactions/en.yml) and confirm that all view templates reference these exact keys via thet()helper.config/locales/views/recurring_transactions/pt-BR.yml (1)
1-45: Proper i18n structure with complete section coverage.The file follows hierarchical i18n organization under
recurring_transactions.*, uses correct YAML structure (including proper list formatting undertriggers), and employs Rails i18n interpolation syntax correctly (%{...}). All primary sections are covered: title, info, table headers, status values, and badges.Please verify that this file's key paths align with the corresponding English locale file (
config/locales/views/recurring_transactions/en.yml) and that all references in view templates use the exact keys defined here via thet()helper.config/locales/views/reports/pt-BR.yml (1)
1-61: Comprehensive Brazilian Portuguese translation structure looks good.The file follows the hierarchical i18n key convention with clear feature-based organization (
reports→index,summary,budget_performance, etc.). Interpolation placeholders are correctly formatted using%{var}syntax throughout, and the translations appropriately cover all UI sections with proper nesting for complex components like filters, sort options, and export formats. Based on coding guidelines, this aligns well with the required localization patterns.Also applies to: 65-126
* feat: Allow account linking for Enable Banking accounts * fix: Typo in function name * fix: naming issue * fix: Add missing Enable Banking route * feat: Add ability to link Enable Banking when adding a new account * Mispelling * fix: typo in method call * fix: typo in column name * Review suggestions * Linter noise * Small copy changes to avoid mobile UI blowout * Provider generator (#364) * Move provider config to family * Update schema.rb * Add provier generator * Add table creation also * FIX generator namespace * Add support for global providers also * Remove over-engineered stuff * FIX parser * FIX linter * Some generator fixes * Update generator with fixes * Update item_model.rb.tt * Add missing linkable concern * Add missing routes * Update adapter.rb.tt * Update connectable_concern.rb.tt * Update unlinking_concern.rb.tt * Update family_generator.rb * Update family_generator.rb * Delete .claude/settings.local.json Signed-off-by: soky srm <sokysrm@gmail.com> * Move docs under API related folder * Rename Rails generator doc * Light edits to LLM generated doc * Small Lunch Flow config panel regressions. --------- Signed-off-by: soky srm <sokysrm@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Skip generators autoloading (#430) * Include Enable Banking items in Syncer (#434) * feat: Include Enable Banking items in Syncer * feat: include only active Enable Banking accounts * Fix budgets page UI (#427) * fix: Budget UI improvements * feat: Reduce padding for sub-categories * fix: Adjust padding for sub-category arrow * Revert "feat: Reduce padding for sub-categories" This reverts commit 7516c5a. * Revert "fix: Adjust padding for sub-category arrow" This reverts commit ebc8254. * fix: adjust padding for sub-categories * fix: Add padding to uncategorized budget * fix: Remove unnecessary HTML tag * feat: Add translation keys for budgeted/actual * feat(lang): add all brazilian portuguese translations (#416) * feat(lang): add all brazilian portuguese translations * feat: update pt-BR errors on translation * fix: atualizar fix base * feat: add reports translations * feat: finish translation to brazilian portuguese * fix: add to supported locales * fix: number of translations * fix: errors on translations * fix: error on rubocop lint --------- Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> * Add exclude transaction rule action (#437) * Initial plan * Add ExcludeTransaction rule action executor with tests Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Copy clarification --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Preparing for v0.6.6-alpha.3 Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> * fix: remove account_id clearing for Enable Banking accounts * fix: Remove unexisting available_balance attribute and rename variable for consistency --------- Signed-off-by: soky srm <sokysrm@gmail.com> Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: soky srm <sokysrm@gmail.com> Co-authored-by: Marcon Neves <marconwillian@icloud.com> Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
) * feat(lang): add all brazilian portuguese translations * feat: update pt-BR errors on translation * fix: atualizar fix base * feat: add reports translations * feat: finish translation to brazilian portuguese * fix: add to supported locales * fix: number of translations * fix: errors on translations * fix: error on rubocop lint --------- Co-authored-by: Leonardo Ralph <theleoralph@gmail.com>
* feat: Allow account linking for Enable Banking accounts * fix: Typo in function name * fix: naming issue * fix: Add missing Enable Banking route * feat: Add ability to link Enable Banking when adding a new account * Mispelling * fix: typo in method call * fix: typo in column name * Review suggestions * Linter noise * Small copy changes to avoid mobile UI blowout * Provider generator (maybe-finance#364) * Move provider config to family * Update schema.rb * Add provier generator * Add table creation also * FIX generator namespace * Add support for global providers also * Remove over-engineered stuff * FIX parser * FIX linter * Some generator fixes * Update generator with fixes * Update item_model.rb.tt * Add missing linkable concern * Add missing routes * Update adapter.rb.tt * Update connectable_concern.rb.tt * Update unlinking_concern.rb.tt * Update family_generator.rb * Update family_generator.rb * Delete .claude/settings.local.json Signed-off-by: soky srm <sokysrm@gmail.com> * Move docs under API related folder * Rename Rails generator doc * Light edits to LLM generated doc * Small Lunch Flow config panel regressions. --------- Signed-off-by: soky srm <sokysrm@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Skip generators autoloading (maybe-finance#430) * Include Enable Banking items in Syncer (maybe-finance#434) * feat: Include Enable Banking items in Syncer * feat: include only active Enable Banking accounts * Fix budgets page UI (#427) * fix: Budget UI improvements * feat: Reduce padding for sub-categories * fix: Adjust padding for sub-category arrow * Revert "feat: Reduce padding for sub-categories" This reverts commit 7516c5a. * Revert "fix: Adjust padding for sub-category arrow" This reverts commit ebc8254. * fix: adjust padding for sub-categories * fix: Add padding to uncategorized budget * fix: Remove unnecessary HTML tag * feat: Add translation keys for budgeted/actual * feat(lang): add all brazilian portuguese translations (maybe-finance#416) * feat(lang): add all brazilian portuguese translations * feat: update pt-BR errors on translation * fix: atualizar fix base * feat: add reports translations * feat: finish translation to brazilian portuguese * fix: add to supported locales * fix: number of translations * fix: errors on translations * fix: error on rubocop lint --------- Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> * Add exclude transaction rule action (#437) * Initial plan * Add ExcludeTransaction rule action executor with tests Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Copy clarification --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Preparing for v0.6.6-alpha.3 Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> * fix: remove account_id clearing for Enable Banking accounts * fix: Remove unexisting available_balance attribute and rename variable for consistency --------- Signed-off-by: soky srm <sokysrm@gmail.com> Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: soky srm <sokysrm@gmail.com> Co-authored-by: Marcon Neves <marconwillian@icloud.com> Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
* feat(lang): add all brazilian portuguese translations * feat: update pt-BR errors on translation * fix: atualizar fix base * feat: add reports translations * feat: finish translation to brazilian portuguese * fix: add to supported locales * fix: number of translations * fix: errors on translations * fix: error on rubocop lint --------- Co-authored-by: Leonardo Ralph <theleoralph@gmail.com>
* feat: Allow account linking for Enable Banking accounts * fix: Typo in function name * fix: naming issue * fix: Add missing Enable Banking route * feat: Add ability to link Enable Banking when adding a new account * Mispelling * fix: typo in method call * fix: typo in column name * Review suggestions * Linter noise * Small copy changes to avoid mobile UI blowout * Provider generator (we-promise#364) * Move provider config to family * Update schema.rb * Add provier generator * Add table creation also * FIX generator namespace * Add support for global providers also * Remove over-engineered stuff * FIX parser * FIX linter * Some generator fixes * Update generator with fixes * Update item_model.rb.tt * Add missing linkable concern * Add missing routes * Update adapter.rb.tt * Update connectable_concern.rb.tt * Update unlinking_concern.rb.tt * Update family_generator.rb * Update family_generator.rb * Delete .claude/settings.local.json Signed-off-by: soky srm <sokysrm@gmail.com> * Move docs under API related folder * Rename Rails generator doc * Light edits to LLM generated doc * Small Lunch Flow config panel regressions. --------- Signed-off-by: soky srm <sokysrm@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Skip generators autoloading (we-promise#430) * Include Enable Banking items in Syncer (we-promise#434) * feat: Include Enable Banking items in Syncer * feat: include only active Enable Banking accounts * Fix budgets page UI (we-promise#427) * fix: Budget UI improvements * feat: Reduce padding for sub-categories * fix: Adjust padding for sub-category arrow * Revert "feat: Reduce padding for sub-categories" This reverts commit 7516c5a. * Revert "fix: Adjust padding for sub-category arrow" This reverts commit ebc8254. * fix: adjust padding for sub-categories * fix: Add padding to uncategorized budget * fix: Remove unnecessary HTML tag * feat: Add translation keys for budgeted/actual * feat(lang): add all brazilian portuguese translations (we-promise#416) * feat(lang): add all brazilian portuguese translations * feat: update pt-BR errors on translation * fix: atualizar fix base * feat: add reports translations * feat: finish translation to brazilian portuguese * fix: add to supported locales * fix: number of translations * fix: errors on translations * fix: error on rubocop lint --------- Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> * Add exclude transaction rule action (we-promise#437) * Initial plan * Add ExcludeTransaction rule action executor with tests Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Copy clarification --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> * Preparing for v0.6.6-alpha.3 Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> * fix: remove account_id clearing for Enable Banking accounts * fix: Remove unexisting available_balance attribute and rename variable for consistency --------- Signed-off-by: soky srm <sokysrm@gmail.com> Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: soky srm <sokysrm@gmail.com> Co-authored-by: Marcon Neves <marconwillian@icloud.com> Co-authored-by: Leonardo Ralph <theleoralph@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
This is a continuation of PR:
#82
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.