-
Notifications
You must be signed in to change notification settings - Fork 149
New Crowdin updates #6523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
New Crowdin updates #6523
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
WalkthroughThe PR updates two CowSwap frontend localization files: Spanish ( Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 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)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🧹 Nitpick comments (1)
apps/cowswap-frontend/src/locales/ru-RU.po (1)
2452-2457: “TWAP” acronym fallback is reasonable but could be clarifiedFalling back to the English “TWAP” is consistent with DeFi jargon; if Russian users are less familiar with the term, you might later consider a tooltip or glossary rather than localizing the label itself.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
apps/cowswap-frontend/src/locales/es-ES.po(28 hunks)apps/cowswap-frontend/src/locales/ru-RU.po(6 hunks)
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-07-24T16:42:53.154Z
Learnt from: cowdan
Repo: cowprotocol/cowswap PR: 6009
File: apps/cowswap-frontend/src/modules/tradeWidgetAddons/containers/HighFeeWarning/HighFeeWarningTooltipContent.tsx:23-33
Timestamp: 2025-07-24T16:42:53.154Z
Learning: In apps/cowswap-frontend/src/modules/tradeWidgetAddons/containers/HighFeeWarning/HighFeeWarningTooltipContent.tsx, the use of toFixed(2) for percentage formatting in tooltip content is intentional and differs from the banner message formatting that uses toSignificant(2, undefined, Rounding.ROUND_DOWN). This formatting difference serves different UX purposes and should not be flagged as inconsistent.
Applied to files:
apps/cowswap-frontend/src/locales/es-ES.poapps/cowswap-frontend/src/locales/ru-RU.po
📚 Learning: 2025-07-24T16:43:47.639Z
Learnt from: cowdan
Repo: cowprotocol/cowswap PR: 6009
File: apps/cowswap-frontend/src/modules/tradeWidgetAddons/containers/HighFeeWarning/highFeeWarningHelpers.ts:18-20
Timestamp: 2025-07-24T16:43:47.639Z
Learning: In apps/cowswap-frontend/src/modules/tradeWidgetAddons/containers/HighFeeWarning/highFeeWarningHelpers.ts, the formatFeePercentage function uses ROUND_DOWN with toSignificant(2) for "at least X%" messaging. This ensures the displayed percentage is never higher than the actual fee, making the "at least" phrasing accurate. For example, if the actual fee is 25.4%, displaying "at least 25%" is correct, but "at least 26%" would be misleading.
Applied to files:
apps/cowswap-frontend/src/locales/es-ES.po
📚 Learning: 2025-10-10T20:28:16.565Z
Learnt from: fairlighteth
Repo: cowprotocol/cowswap PR: 6347
File: apps/cowswap-frontend/src/modules/trade/pure/TradeConfirmation/index.tsx:49-49
Timestamp: 2025-10-10T20:28:16.565Z
Learning: In apps/cowswap-frontend/src/modules/trade, TradeConfirmation follows a two-layer architecture: TradeConfirmationView (pure/stateless) in pure/TradeConfirmation/index.tsx renders the UI, while TradeConfirmation (container) in containers/TradeConfirmation/index.tsx wraps it to freeze props during pending trades (via useStableTradeConfirmationProps), wire in signing state (useSigningStep), and inject trade confirmation state (useTradeConfirmState). Consuming modules should import the container TradeConfirmation from 'modules/trade' to preserve this stateful behavior.
<!-- [add_learning]
When reviewing component refactoring in apps/cowswap-frontend/src/modules/trade, recognize the pattern where a pure view component (e.g., TradeConfirmationView) is separated from a stateful container (e.g., TradeConfirmation) that wraps it. The container adds runtime state management (prop stabilization, signing state, etc.) while the view remains testable and composable. Do not flag usages that import th...
Applied to files:
apps/cowswap-frontend/src/locales/es-ES.po
📚 Learning: 2025-10-13T19:41:31.440Z
Learnt from: limitofzero
Repo: cowprotocol/cowswap PR: 6351
File: apps/cowswap-frontend/src/modules/erc20Approve/containers/TradeApproveModal/useTradeApproveCallback.ts:87-121
Timestamp: 2025-10-13T19:41:31.440Z
Learning: In apps/cowswap-frontend/src/modules/erc20Approve, useApproveCallback returns Promise<TransactionResponse | undefined> and is distinct from useApproveCurrency, which can return Promise<TransactionReceipt | SafeMultisigTransactionResponse>. When reviewing approval flows, verify which hook is actually being used before flagging Safe wallet concerns.
Applied to files:
apps/cowswap-frontend/src/locales/es-ES.po
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Cypress
- GitHub Check: Setup
🔇 Additional comments (7)
apps/cowswap-frontend/src/locales/es-ES.po (2)
9-19: Header metadata updates look fine.Project/version/Crowdin fields and revision date updated as expected.
1-1: Confirmed: 28 empty translations found, including critical acronyms (APR, TVL, N/A).The verification script identified 28 empty msgstr entries in the Spanish locale file, with 11 being critical or short identifiers (APR, TVL, N/A, "gas", and single-character entries). These should be addressed before merge to ensure proper Spanish localization.
apps/cowswap-frontend/src/locales/ru-RU.po (5)
9-19: Header metadata update looks consistentProject ID, file ID, and revision date align with a Crowdin reconfiguration and don’t affect runtime behavior. No issues from a frontend perspective.
900-903: Emptymsgstrfor “APR” is acceptableClearing the translation will fall back to the English msgid “APR”, which is standard and likely what you want here.
1257-1260: “CoW AMM” left untranslated to fall back to brand nameUsing an empty
msgstrso the UI shows the exact brand term “CoW AMM” is sensible and avoids awkward localization.
1313-1315: “Bungee” brand name fallbackSame pattern here: empty
msgstrwill display the brand “Bungee” verbatim, which is appropriate for a product name.
1631-1633: “TVL” acronym fallbackLetting “TVL” display from the msgid is fine and keeps the commonly used DeFi acronym intact.
| #: apps/cowswap-frontend/src/modules/twap/utils/deadlinePartsDisplay.ts | ||
| msgid "h" | ||
| msgstr "h" | ||
| msgstr "" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocker: time-unit abbreviations were cleared, causing blank durations in UI.
Restore minimal, non-ambiguous abbreviations.
#: apps/cowswap-frontend/src/modules/twap/utils/deadlinePartsDisplay.ts
msgid "h"
-msgstr ""
+msgstr "h"
#: apps/cowswap-frontend/src/modules/twap/utils/deadlinePartsDisplay.ts
msgid "s"
-msgstr ""
+msgstr "s"
#: apps/cowswap-frontend/src/modules/twap/utils/deadlinePartsDisplay.ts
msgid "d"
-msgstr ""
+msgstr "d"
#: apps/cowswap-frontend/src/modules/twap/utils/deadlinePartsDisplay.ts
msgid "m"
-msgstr ""
+msgstr "m"Also applies to: 1244-1247, 1890-1893, 4404-4407
🤖 Prompt for AI Agents
In apps/cowswap-frontend/src/locales/es-ES.po around lines 556-559 (and also at
1244-1247, 1890-1893, 4404-4407), the msgstr for time-unit abbreviations were
cleared causing blank durations in the UI; restore minimal, non-ambiguous
Spanish abbreviations by setting the msgstrs to appropriate short forms (for
example: hours -> "h", minutes -> "min", seconds -> "s", days -> "d") matching
each msgid so the UI shows the correct abbreviated units.
| #: apps/cowswap-frontend/src/modules/tokensList/containers/LpTokenPage/index.tsx | ||
| msgid "APR" | ||
| msgstr "APR" | ||
| msgstr "" | ||
|
|
||
| #: apps/cowswap-frontend/src/common/pure/NetworksList/index.tsx | ||
| msgid "CoW Protocol Explorer" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
High‑impact labels/acronyms emptied; avoid blank chips/badges.
Passthrough acronyms/brands; localize where stable.
#: apps/cowswap-frontend/src/modules/tokensList/containers/LpTokenPage/index.tsx
msgid "APR"
-msgstr ""
+msgstr "APR"
#: apps/cowswap-frontend/src/modules/tokensList/containers/LpTokenPage/index.tsx
msgid "TVL"
-msgstr ""
+msgstr "TVL"
#: apps/cowswap-frontend/src/modules/wallet/pure/StatusIcon/index.tsx
msgid "WalletConnect"
-msgstr ""
+msgstr "WalletConnect"
#: apps/cowswap-frontend/src/modules/tradeWidgetAddons/containers/TransactionSlippageInput/index.tsx
msgid "Auto"
-msgstr ""
+msgstr "Auto"
#: apps/cowswap-frontend/src/modules/hooksStore/pure/HookDappDetails/index.tsx
msgid "N/A"
-msgstr ""
+msgstr "N/D"
#: apps/cowswap-frontend/src/common/constants/routes.ts
msgid "gas"
-msgstr ""
+msgstr "gas"
#: apps/cowswap-frontend/src/common/pure/CoWAmmBannerContent/index.tsx
msgid "pool"
-msgstr ""
+msgstr "pool"
#: apps/cowswap-frontend/src/modules/swap/containers/SwapConfirmModal/index.tsx
msgid "token"
-msgstr ""
+msgstr "token"
#: apps/cowswap-frontend/src/legacy/components/Tokens/TokensTable.tsx
msgid "Token"
-msgstr ""
+msgstr "Token"Also applies to: 1631-1634, 1748-1750, 2808-2811, 4280-4283, 2693-2696, 6125-6127, 294-298, 3054-3057
🤖 Prompt for AI Agents
In apps/cowswap-frontend/src/locales/es-ES.po around lines 900-905, the msgstr
entries for acronyms/brand labels (e.g., "APR" and "CoW Protocol Explorer") are
empty; update the msgstr to be the same as the msgid (passthrough) so
chips/badges don't render blank (e.g., set msgstr "APR" and msgstr "CoW Protocol
Explorer"); apply the same fix to the other reported ranges (1631-1634,
1748-1750, 2808-2811, 4280-4283, 2693-2696, 6125-6127, 294-298, 3054-3057) by
ensuring acronyms/brand msgstr values mirror their msgid instead of being empty.
| #: apps/cowswap-frontend/src/modules/application/containers/App/menuConsts.tsx | ||
| msgid "CoW AMM" | ||
| msgstr "CoW AMM" | ||
| msgstr "" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Core navigation/feature labels cleared; re-add to prevent empty menus and sections.
Keep brands/acronyms; translate stable terms.
#: apps/cowswap-frontend/src/common/containers/CoWAmmBanner/index.tsx
msgid "CoW AMM"
-msgstr ""
+msgstr "CoW AMM"
#: libs/common-const/src/common.ts
msgid "TWAP"
-msgstr ""
+msgstr "TWAP"
#: apps/cowswap-frontend/src/common/constants/routes.ts
msgid "Yield"
-msgstr ""
+msgstr "Rendimiento"
#: apps/cowswap-frontend/src/common/containers/OrderHooksDetails/index.tsx
msgid "Pre Hooks"
-msgstr ""
+msgstr "Pre Hooks"
#: apps/cowswap-frontend/src/common/containers/OrderHooksDetails/index.tsx
msgid "POST"
-msgstr ""
+msgstr "POST"
#: apps/cowswap-frontend/src/common/containers/OrderHooksDetails/index.tsx
msgid "PRE"
-msgstr ""
+msgstr "PRE"
#: apps/cowswap-frontend/src/modules/application/containers/App/menuConsts.tsx
msgid "Legal"
-msgstr ""
+msgstr "Legal"
#: apps/cowswap-frontend/src/modules/application/containers/App/menuConsts.tsx
msgid "FAQs"
-msgstr ""
+msgstr "Preguntas frecuentes"
#: apps/cowswap-frontend/src/modules/application/containers/App/menuConsts.tsx
msgid "Tokens"
-msgstr ""
+msgstr "Tokens"Also applies to: 2453-2458, 3310-3315, 716-719, 1270-1273, 3850-3853, 5698-5700, 3752-3755, 814-819
🤖 Prompt for AI Agents
In apps/cowswap-frontend/src/locales/es-ES.po around lines 1258-1261 (and also
update the empty entries at 2453-2458, 3310-3315, 716-719, 1270-1273, 3850-3853,
5698-5700, 3752-3755, 814-819), restore non-empty msgstr values so core
navigation/feature labels are not blank; for brand names/acronyms like "CoW AMM"
keep the original text (msgstr "CoW AMM") and for any stable/common terms
provide the appropriate Spanish translation while preserving brand
capitalization and acronyms.
| msgid "Bungee" | ||
| msgstr "Bungee" | ||
| msgstr "" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Brand/feature names should not be empty.
Preserve brand; provide clear Spanish for feature.
#: libs/hook-dapp-lib/src/hookDappsRegistry.ts
msgid "Bungee"
-msgstr ""
+msgstr "Bungee"
#: libs/hook-dapp-lib/src/hookDappsRegistry.ts
msgid "Aave Collateral Swap Flashloan"
-msgstr ""
+msgstr "Flashloan de intercambio de garantía de Aave"Also applies to: 4979-4981
🤖 Prompt for AI Agents
In apps/cowswap-frontend/src/locales/es-ES.po around lines 1314-1316 (and
similarly at 4979-4981) the msgstr for the brand/feature "Bungee" is empty;
populate msgstr with the preserved brand name (e.g., "Bungee") or "Bungee" plus
a brief Spanish descriptor if context requires (e.g., "Bungee
(servicio/función)"), ensuring the brand text is not translated away and the
Spanish string provides clear context.
Summary by CodeRabbit