Skip to content

i18n: automated Crowdin translation import (pt-br)#17122

Open
wackerow wants to merge 20 commits intodevfrom
i18n/import/2026-01-20T04-39-48-pt-br
Open

i18n: automated Crowdin translation import (pt-br)#17122
wackerow wants to merge 20 commits intodevfrom
i18n/import/2026-01-20T04-39-48-pt-br

Conversation

@wackerow
Copy link
Member

Description

This PR contains automated gemini-2.5-pro translations from Crowdin.

🔗 View workflow run

Languages translated

pt-br

JSON changes (src/intl/{locale}/)

  • common.json
  • glossary-tooltip.json
  • glossary.json
  • learn-quizzes.json
  • page-10-year-anniversary.json
  • page-about.json
  • page-apps.json
  • page-assets.json
  • page-bug-bounty.json
  • page-collectibles.json
  • page-community-events.json
  • page-community.json
  • page-contributing-translation-program-acknowledgements.json
  • page-contributing-translation-program-contributors.json
  • page-developers-docs.json
  • page-developers-index.json
  • page-developers-learning-tools.json
  • page-developers-local-environment.json
  • page-developers-tutorials.json
  • page-energy-consumption.json
  • page-ethereum-history-founder-and-ownership.json
  • page-ethereum-vs-bitcoin.json
  • page-founders.json
  • page-gas.json
  • page-get-eth.json
  • page-history.json
  • page-index.json
  • page-layer-2-learn.json
  • page-layer-2-networks.json
  • page-layer-2.json
  • page-learn.json
  • page-resources.json
  • page-roadmap-vision.json
  • page-roadmap.json
  • page-run-a-node.json
  • page-stablecoins.json
  • page-staking-deposit-contract.json
  • page-staking.json
  • page-start.json
  • page-trillion-dollar-security.json
  • page-upgrades-get-involved.json
  • page-upgrades-index.json
  • page-upgrades.json
  • page-wallets-find-wallet.json
  • page-wallets.json
  • page-what-is-ether.json
  • page-what-is-ethereum.json
  • page-what-is-the-ethereum-network.json
  • table.json
  • template-usecase.json

Markdown changes (public/content/translations/{locale}/)

  • about/index.md
  • ai-agents/index.md
  • bridges/index.md
  • community/code-of-conduct/index.md
  • community/events/organizing/index.md
  • community/get-involved/index.md
  • community/grants/index.md
  • community/language-resources/index.md
  • community/online/index.md
  • community/research/index.md
  • community/support/index.md
  • contributing/adding-desci-projects/index.md
  • contributing/adding-developer-tools/index.md
  • contributing/adding-exchanges/index.md
  • contributing/adding-glossary-terms/index.md
  • contributing/adding-layer-2s/index.md
  • contributing/adding-products/index.md
  • contributing/adding-resources/index.md
  • contributing/adding-staking-products/index.md
  • contributing/adding-wallets/index.md
  • contributing/content-resources/index.md
  • contributing/design-principles/index.md
  • contributing/design/adding-design-resources/index.md
  • contributing/design/index.md
  • contributing/index.md
  • contributing/quizzes/index.md
  • contributing/translation-program/faq/index.md
  • contributing/translation-program/how-to-translate/index.md
  • contributing/translation-program/index.md
  • contributing/translation-program/mission-and-vision/index.md
  • contributing/translation-program/playbook/index.md
  • contributing/translation-program/resources/index.md
  • contributing/translation-program/translatathon/details/index.md
  • contributing/translation-program/translatathon/index.md
  • contributing/translation-program/translators-guide/index.md
  • dao/index.md
  • decentralized-identity/index.md
  • defi/index.md
  • desci/index.md
  • developers/docs/accounts/index.md
  • developers/docs/apis/backend/index.md
  • developers/docs/apis/javascript/index.md
  • developers/docs/apis/json-rpc/index.md
  • developers/docs/blocks/index.md
  • developers/docs/bridges/index.md
  • developers/docs/consensus-mechanisms/index.md
  • developers/docs/consensus-mechanisms/poa/index.md
  • developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
  • developers/docs/consensus-mechanisms/pos/attestations/index.md
  • developers/docs/consensus-mechanisms/pos/block-proposal/index.md
  • developers/docs/consensus-mechanisms/pos/faqs/index.md
  • developers/docs/consensus-mechanisms/pos/gasper/index.md
  • developers/docs/consensus-mechanisms/pos/index.md
  • developers/docs/consensus-mechanisms/pos/keys/index.md
  • developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
  • developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
  • developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
  • developers/docs/consensus-mechanisms/pow/index.md
  • developers/docs/consensus-mechanisms/pow/mining/index.md
  • developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
  • developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
  • developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
  • developers/docs/dapps/index.md
  • developers/docs/data-and-analytics/block-explorers/index.md
  • developers/docs/data-and-analytics/index.md
  • developers/docs/data-availability/blockchain-data-storage-strategies/index.md
  • developers/docs/data-availability/index.md
  • developers/docs/data-structures-and-encoding/index.md
  • developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
  • developers/docs/data-structures-and-encoding/rlp/index.md
  • developers/docs/data-structures-and-encoding/ssz/index.md
  • developers/docs/data-structures-and-encoding/web3-secret-storage/index.md
  • developers/docs/design-and-ux/dex-design-best-practice/index.md
  • developers/docs/design-and-ux/heuristics-for-web3/index.md
  • developers/docs/design-and-ux/index.md
  • developers/docs/development-networks/index.md
  • developers/docs/ethereum-stack/index.md
  • developers/docs/evm/index.md
  • developers/docs/evm/opcodes/index.md
  • developers/docs/frameworks/index.md
  • developers/docs/gas/index.md
  • developers/docs/ides/index.md
  • developers/docs/index.md
  • developers/docs/intro-to-ether/index.md
  • developers/docs/intro-to-ethereum/index.md
  • developers/docs/mev/index.md
  • developers/docs/networking-layer/index.md
  • developers/docs/networking-layer/network-addresses/index.md
  • developers/docs/networking-layer/portal-network/index.md
  • developers/docs/networks/index.md
  • developers/docs/nodes-and-clients/archive-nodes/index.md
  • developers/docs/nodes-and-clients/bootnodes/index.md
  • developers/docs/nodes-and-clients/client-diversity/index.md
  • developers/docs/nodes-and-clients/index.md
  • developers/docs/nodes-and-clients/light-clients/index.md
  • developers/docs/nodes-and-clients/node-architecture/index.md
  • developers/docs/nodes-and-clients/nodes-as-a-service/index.md
  • developers/docs/nodes-and-clients/run-a-node/index.md
  • developers/docs/oracles/index.md
  • developers/docs/programming-languages/dart/index.md
  • developers/docs/programming-languages/delphi/index.md
  • developers/docs/programming-languages/dot-net/index.md
  • developers/docs/programming-languages/elixir/index.md
  • developers/docs/programming-languages/golang/index.md
  • developers/docs/programming-languages/index.md
  • developers/docs/programming-languages/java/index.md
  • developers/docs/programming-languages/javascript/index.md
  • developers/docs/programming-languages/python/index.md
  • developers/docs/programming-languages/ruby/index.md
  • developers/docs/programming-languages/rust/index.md
  • developers/docs/scaling/index.md
  • developers/docs/scaling/optimistic-rollups/index.md
  • developers/docs/scaling/plasma/index.md
  • developers/docs/scaling/sidechains/index.md
  • developers/docs/scaling/state-channels/index.md
  • developers/docs/scaling/validium/index.md
  • developers/docs/scaling/zk-rollups/index.md
  • developers/docs/smart-contracts/anatomy/index.md
  • developers/docs/smart-contracts/compiling/index.md
  • developers/docs/smart-contracts/composability/index.md
  • developers/docs/smart-contracts/deploying/index.md
  • developers/docs/smart-contracts/formal-verification/index.md
  • developers/docs/smart-contracts/index.md
  • developers/docs/smart-contracts/languages/index.md
  • developers/docs/smart-contracts/libraries/index.md
  • developers/docs/smart-contracts/naming/index.md
  • developers/docs/smart-contracts/security/index.md
  • developers/docs/smart-contracts/testing/index.md
  • developers/docs/smart-contracts/upgrading/index.md
  • developers/docs/smart-contracts/verifying/index.md
  • developers/docs/standards/index.md
  • developers/docs/standards/tokens/erc-1155/index.md
  • developers/docs/standards/tokens/erc-1363/index.md
  • developers/docs/standards/tokens/erc-20/index.md
  • developers/docs/standards/tokens/erc-223/index.md
  • developers/docs/standards/tokens/erc-4626/index.md
  • developers/docs/standards/tokens/erc-721/index.md
  • developers/docs/standards/tokens/erc-777/index.md
  • developers/docs/standards/tokens/index.md
  • developers/docs/storage/index.md
  • developers/docs/transactions/index.md
  • developers/docs/web2-vs-web3/index.md
  • developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
  • developers/tutorials/all-you-can-cache/index.md
  • developers/tutorials/app-plasma/index.md
  • developers/tutorials/calling-a-smart-contract-from-javascript/index.md
  • developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
  • developers/tutorials/deploying-your-first-smart-contract/index.md
  • developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
  • developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
  • developers/tutorials/eip-1271-smart-contract-signatures/index.md
  • developers/tutorials/erc-721-vyper-annotated-code/index.md
  • developers/tutorials/erc20-annotated-code/index.md
  • developers/tutorials/erc20-with-safety-rails/index.md
  • developers/tutorials/ethereum-for-web2-auth/index.md
  • developers/tutorials/getting-started-with-ethereum-development-using-alchemy/index.md
  • developers/tutorials/guide-to-smart-contract-security-tools/index.md
  • developers/tutorials/hello-world-smart-contract-fullstack/index.md
  • developers/tutorials/hello-world-smart-contract/index.md
  • developers/tutorials/how-to-implement-an-erc721-market/index.md
  • developers/tutorials/how-to-mint-an-nft/index.md
  • developers/tutorials/how-to-mock-solidity-contracts-for-testing/index.md
  • developers/tutorials/how-to-use-echidna-to-test-smart-contracts/index.md
  • developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/index.md
  • developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
  • developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
  • developers/tutorials/how-to-view-nft-in-metamask/index.md
  • developers/tutorials/how-to-write-and-deploy-an-nft/index.md
  • developers/tutorials/interact-with-other-contracts-from-solidity/index.md
  • developers/tutorials/ipfs-decentralized-ui/index.md
  • developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
  • developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
  • developers/tutorials/logging-events-smart-contracts/index.md
  • developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
  • developers/tutorials/monitoring-geth-with-influxdb-and-grafana/index.md
  • developers/tutorials/nft-minter/index.md
  • developers/tutorials/optimism-std-bridge-annotated-code/index.md
  • developers/tutorials/reverse-engineering-a-contract/index.md
  • developers/tutorials/run-node-raspberry-pi/index.md
  • developers/tutorials/scam-token-tricks/index.md
  • developers/tutorials/secret-state/index.md
  • developers/tutorials/secure-development-workflow/index.md
  • developers/tutorials/send-token-ethersjs/index.md
  • developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
  • developers/tutorials/server-components/index.md
  • developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/index.md
  • developers/tutorials/short-abi/index.md
  • developers/tutorials/smart-contract-security-guidelines/index.md
  • developers/tutorials/stealth-addr/index.md
  • developers/tutorials/the-graph-fixing-web3-data-querying/index.md
  • developers/tutorials/token-integration-checklist/index.md
  • developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
  • developers/tutorials/understand-the-erc-20-token-smart-contract/index.md
  • developers/tutorials/uniswap-v2-annotated-code/index.md
  • developers/tutorials/using-websockets/index.md
  • developers/tutorials/waffle-dynamic-mocking-and-testing-calls/index.md
  • developers/tutorials/waffle-say-hello-world-with-hardhat-and-ethers/index.md
  • developers/tutorials/waffle-test-simple-smart-contract/index.md
  • developers/tutorials/yellow-paper-evm/index.md
  • eips/index.md
  • energy-consumption/index.md
  • eth/supply/index.md
  • ethereum-forks/index.md
  • foundation/index.md
  • gaming/index.md
  • glossary/index.md
  • governance/index.md
  • guides/how-to-create-an-ethereum-account/index.md
  • guides/how-to-id-scam-tokens/index.md
  • guides/how-to-revoke-token-access/index.md
  • guides/how-to-swap-tokens/index.md
  • guides/how-to-use-a-bridge/index.md
  • guides/how-to-use-a-wallet/index.md
  • guides/index.md
  • nft/index.md
  • payments/index.md
  • prediction-markets/index.md
  • privacy/index.md
  • real-world-assets/index.md
  • refi/index.md
  • restaking/index.md
  • roadmap/account-abstraction/index.md
  • roadmap/beacon-chain/index.md
  • roadmap/danksharding/index.md
  • roadmap/dencun/index.md
  • roadmap/fusaka/index.md
  • roadmap/fusaka/peerdas/index.md
  • roadmap/future-proofing/index.md
  • roadmap/merge/index.md
  • roadmap/merge/issuance/index.md
  • roadmap/pbs/index.md
  • roadmap/pectra/7702/index.md
  • roadmap/pectra/index.md
  • roadmap/pectra/maxeb/index.md
  • roadmap/scaling/index.md
  • roadmap/secret-leader-election/index.md
  • roadmap/security/index.md
  • roadmap/single-slot-finality/index.md
  • roadmap/statelessness/index.md
  • roadmap/user-experience/index.md
  • roadmap/verkle-trees/index.md
  • security/index.md
  • smart-contracts/index.md
  • social-networks/index.md
  • staking/dvt/index.md
  • staking/pools/index.md
  • staking/saas/index.md
  • staking/solo/index.md
  • staking/withdrawals/index.md
  • web3/index.md
  • what-are-apps/index.md
  • whitepaper/index.md
  • wrapped-eth/index.md
  • zero-knowledge-proofs/index.md

@netlify
Copy link

netlify bot commented Jan 20, 2026

Deploy Preview for ethereumorg ready!

Name Link
🔨 Latest commit 545cc40
🔍 Latest deploy log https://app.netlify.com/projects/ethereumorg/deploys/69a68da22647b800086d59b3
😎 Deploy Preview https://deploy-preview-17122.ethereum.it
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
7 paths audited
Performance: 56 (🔴 down 4 from production)
Accessibility: 94 (🟢 up 1 from production)
Best Practices: 100 (no change from production)
SEO: 99 (no change from production)
PWA: 59 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions bot added content 🖋️ This involves copy additions or edits translation 🌍 This is related to our Translation Program labels Jan 20, 2026
@wackerow
Copy link
Member Author

wackerow commented Feb 6, 2026

@claude /review-translations

@github-actions github-actions bot added the tooling 🔧 Changes related to tooling of the project label Feb 6, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

🌐 Translation review started. View progress

@ethereum ethereum deleted a comment from claude bot Feb 6, 2026
@minimalsm minimalsm force-pushed the i18n/import/2026-01-20T04-39-48-pt-br branch from def0601 to 357d29f Compare February 13, 2026 12:38
minimalsm and others added 12 commits February 13, 2026 17:22
Crowdin inserted a stray prediction-markets image path into the
restaking page's image field, causing YAML to parse it as a multiline
value and breaking the Netlify build with ENOENT.
…T04-39-48-pt-br

# Conflicts:
#	public/content/translations/pt-br/community/grants/index.md
#	public/content/translations/pt-br/community/language-resources/index.md
#	public/content/translations/pt-br/community/online/index.md
#	public/content/translations/pt-br/community/support/index.md
#	public/content/translations/pt-br/contributing/adding-staking-products/index.md
#	public/content/translations/pt-br/contributing/translation-program/faq/index.md
#	public/content/translations/pt-br/contributing/translation-program/how-to-translate/index.md
#	public/content/translations/pt-br/contributing/translation-program/index.md
#	public/content/translations/pt-br/contributing/translation-program/resources/index.md
#	public/content/translations/pt-br/desci/index.md
#	public/content/translations/pt-br/developers/docs/apis/backend/index.md
#	public/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/index.md
#	public/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/keys/index.md
#	public/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
#	public/content/translations/pt-br/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
#	public/content/translations/pt-br/developers/docs/consensus-mechanisms/pow/index.md
#	public/content/translations/pt-br/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
#	public/content/translations/pt-br/developers/docs/data-structures-and-encoding/ssz/index.md
#	public/content/translations/pt-br/developers/docs/frameworks/index.md
#	public/content/translations/pt-br/developers/docs/mev/index.md
#	public/content/translations/pt-br/developers/docs/networking-layer/index.md
#	public/content/translations/pt-br/developers/docs/networking-layer/network-addresses/index.md
#	public/content/translations/pt-br/developers/docs/nodes-and-clients/index.md
#	public/content/translations/pt-br/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
#	public/content/translations/pt-br/developers/docs/oracles/index.md
#	public/content/translations/pt-br/developers/docs/programming-languages/python/index.md
#	public/content/translations/pt-br/developers/docs/scaling/index.md
#	public/content/translations/pt-br/developers/docs/scaling/sidechains/index.md
#	public/content/translations/pt-br/developers/docs/scaling/state-channels/index.md
#	public/content/translations/pt-br/developers/docs/scaling/validium/index.md
#	public/content/translations/pt-br/developers/docs/smart-contracts/languages/index.md
#	public/content/translations/pt-br/developers/docs/smart-contracts/security/index.md
#	public/content/translations/pt-br/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/index.md
#	public/content/translations/pt-br/developers/tutorials/run-node-raspberry-pi/index.md
#	public/content/translations/pt-br/developers/tutorials/yellow-paper-evm/index.md
#	public/content/translations/pt-br/energy-consumption/index.md
#	public/content/translations/pt-br/ethereum-forks/index.md
#	public/content/translations/pt-br/glossary/index.md
#	public/content/translations/pt-br/governance/index.md
#	public/content/translations/pt-br/roadmap/beacon-chain/index.md
#	public/content/translations/pt-br/roadmap/merge/index.md
#	public/content/translations/pt-br/whitepaper/index.md
- Add fixDuplicateFrontmatterAuthor for Crowdin
  duplicate author YAML continuation lines
- Add fixBrokenBracketInLinks for } instead of ]
- Fix fixEscapedBoldAndItalic regression: preserve
  \* used as multiplication signs via lookbehind
- Add TNF->NFT/TNFs->NFTs to ticker corrections
- Switch ticker boundary to alphanumeric-only so
  markdown _ does not block matching
- Fix fixBrandTags: restore brand tags even when
  Crowdin drops tags (count mismatch)
- 215 tests passing (12 new)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Apply sanitizer fixes to pt-br translations:
- Remove 17 duplicate author frontmatter lines
- Fix 3 broken } brackets in markdown links
- Correct 4 TNF->NFT ticker transpositions
- Restore 37+ brand-name tags to English
- Fix block component line breaks, asymmetric
  backticks, and other deterministic issues

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Add warnTranslatedInlineCode to detect Crowdin
translating content inside backticks. Two checks:
1. Inline code count drop (3+ or 20%+ fewer)
2. Orphaned backticks (odd count on a line)

Warnings enable LLM review to investigate and fix
these non-deterministic issues.

5 new tests, 220 total passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Restore backticks and fix code fence drift in 13
pt-br translation files where Crowdin broke inline
code spans by translating content, replacing backticks
with quotes, or merging code blocks with prose.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
@github-actions github-actions bot added the documentation 📖 Change or add documentation label Mar 3, 2026
- Add ETTH->ETH to ticker corrections (sanitizer)
- Fix "Javier Solana" -> "Solana" in bridges
- Fix "The MErge" -> "The Merge" in 2 mining files
- Fix "Github" -> "GitHub" in 5 files
- Fix "Metamask" -> "MetaMask" in 2 files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
@myelinated-wackerow
Copy link
Collaborator

Translation Quality Review

PR: #17122
Language: pt-br (Brazilian Portuguese)
Files reviewed: 302 (259 MD + 43 JSON)
Date: 2026-03-03

Quality Scores (Post-Review)

Category Score Notes
Brand Name Preservation 8.5/10 Fixed: solidez->Solidity (tags), TNF->NFT (37x), Javier Solana->Solana, Github->GitHub (5x), Metamask->MetaMask (2x). Remaining: a few brand count mismatches in Crowdin-truncated sections.
Technical Accuracy 8.0/10 Fixed: ETTH->ETH, MErge->Merge, 33 broken inline code spans restored, code fence drift restructured in ethereum-for-web2-auth. 447 code fence comment translations verified as acceptable per policy.
Semantic Fidelity 7.0/10 Generally good. Some Crowdin-truncated files (wagmi-ui is 23% shorter than EN). 28 untranslated paragraphs remain.
Terminology Consistency 7.5/10 Ticker symbols fully corrected. Brand names normalized. 144 missing hrefs from Crowdin-dropped links remain (out of scope for auto-fix).
Tone/Register 8.5/10 Consistent informal "voce" register throughout. No issues found.

Overall: 7.9/10

Review Commits (5)

Commit Description
02a8bdc Sanitizer improvements: italic/bold regex (multiplication sign safety), TNF/ETTH ticker corrections, brand tag count tolerance
b1d9b72 Sanitizer pass: 65 files auto-fixed (duplicated headings, escaped bold/italic, brand tags, tickers, MDX angle brackets, orphaned tags, frontmatter dates, header IDs)
cddd6da New sanitizer warning: detect translated/broken inline code spans
7c2bafb Restore inline code spans in 13 files (orphaned backticks, code fence drift)
558412c Fix brand names and typos in 11 files (Javier Solana, MErge, Github, Metamask, ETTH)

Issues Found and Fixed

Category Count Details
Duplicate author frontmatter 17 files Crowdin duplicated author name on YAML continuation line
Broken ] in markdown links 3 files Crowdin replaced ] with }
Escaped bold/italic (\*\*text\*\*) 65 files Sanitizer auto-fix (with new multiplication sign safety)
TNF -> NFT 4 occurrences Ticker transposition
ETTH -> ETH 1 occurrence Ticker transposition
Brand tags (solidez, etc.) 37+ files Sanitizer auto-fix in frontmatter tags
Broken inline code spans 13 files Backticks dropped, code fence drift, quotes replacing backticks
Code fence drift 1 file ethereum-for-web2-auth: bullet points inside code fences
MErge -> Merge 2 files Crowdin capitalization error
Javier Solana -> Solana 1 file Crowdin confused blockchain with person name
Github -> GitHub 5 files Brand capitalization
Metamask -> MetaMask 2 files Brand capitalization

Remaining Informational Warnings (No Action Needed)

Warning Count Assessment
Code fence content differs 447 Translated code comments and test strings -- acceptable per policy
Exposed MDX tags 229 MDX component tags in template syntax -- not actual breaks
Missing hrefs 144 Crowdin dropped links in truncated sections
Block count mismatch 54 Crowdin truncated paragraphs
Untranslated paragraphs 28 Sections still in English
Inline code span count mismatch 1 wagmi-ui file is 23% shorter than EN (truncated)

Sanitizer Improvements

This review also improved the sanitizer for future language imports:

  • fixEscapedBoldAndItalic: Lookbehind/lookahead guards prevent stripping \* used as multiplication signs
  • fixTickerTranspositions: Added TNF->NFT, ETTH->ETH; switched to alphanumeric-only word boundaries (fixes _TNF_ in markdown italic)
  • fixBrandTags: Tolerates tag count mismatches (fixes when Crowdin drops tags)
  • warnTranslatedInlineCode: New warning detects broken inline code spans via count comparison and orphaned backtick detection
  • 221 unit tests passing across all sanitizer functions

Summary

The pt-br import is in good shape after review. All deterministic issues have been auto-fixed or manually corrected. The remaining warnings are informational -- mostly Crowdin-truncated content and translated code comments (both acceptable). The translation quality is solid with consistent tone/register and good semantic fidelity. Ready to merge.


Reviewed by Claude Code (Claude Opus 4.6)

…T04-39-48-pt-br

# Conflicts:
#	public/content/translations/pt-br/community/support/index.md
#	tests/unit/sanitizer/english-comparison.spec.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

content 🖋️ This involves copy additions or edits documentation 📖 Change or add documentation tooling 🔧 Changes related to tooling of the project translation 🌍 This is related to our Translation Program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants