Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
391 commits
Select commit Hold shift + click to select a range
173e397
i18n(zh-tw): translation import part 09 of 13 (23 files)
minimalsm Feb 14, 2026
7c49da9
i18n(zh-tw): translation import part 11 of 13 (23 files)
minimalsm Feb 14, 2026
c8c9627
i18n(zh-tw): translation import part 12 of 13 (22 files)
minimalsm Feb 14, 2026
cda0199
i18n(zh-tw): translation import part 13 of 13 (22 files)
minimalsm Feb 14, 2026
8153b4a
i18n(cs): translation import part 02 of 13 (24 files)
minimalsm Feb 14, 2026
1de77f3
i18n(cs): translation import part 03 of 13 (24 files)
minimalsm Feb 14, 2026
7737a97
i18n(cs): translation import part 04 of 13 (24 files)
minimalsm Feb 14, 2026
8cf62cc
i18n(cs): translation import part 05 of 13 (24 files)
minimalsm Feb 14, 2026
fb56b66
i18n(cs): translation import part 06 of 13 (24 files)
minimalsm Feb 14, 2026
b057ba4
i18n(cs): translation import part 08 of 13 (24 files)
minimalsm Feb 14, 2026
482c860
i18n(cs): translation import part 09 of 13 (24 files)
minimalsm Feb 14, 2026
d4e566e
i18n(cs): translation import part 11 of 13 (24 files)
minimalsm Feb 14, 2026
74e8cf7
i18n(cs): translation import part 12 of 13 (24 files)
minimalsm Feb 14, 2026
7a5a57a
i18n(cs): translation import part 13 of 13 (24 files)
minimalsm Feb 14, 2026
fae3da7
fix(ci): prevent auth bypass and command injection in Claude workflows
wackerow Feb 14, 2026
fbf6482
Merge pull request #17560 from ethereum/patch-review-translations
wackerow Feb 14, 2026
fb492cd
fix(i18n): correct translation issues in Czech files
minimalsm Feb 15, 2026
9f692ce
fix(i18n): correct typos and broken link in Czech translations
minimalsm Feb 15, 2026
ee309ed
fix(i18n): correct translation issues in Czech files
minimalsm Feb 15, 2026
e63a81d
fix(i18n): correct typos and duplicate line in Czech translations
minimalsm Feb 15, 2026
c6a60ed
fix(i18n): restore English strings in code blocks for Czech translations
minimalsm Feb 15, 2026
608b369
fix(i18n): correct typos and brand names in Czech translations
minimalsm Feb 15, 2026
2e89bdc
fix(i18n): correct translation issues in Czech files
minimalsm Feb 15, 2026
dd39ac5
fix(i18n): correct translation issues in Czech files
minimalsm Feb 15, 2026
5b5c12c
fix(i18n): correct typos in Czech data-availability translation
minimalsm Feb 15, 2026
9125456
fix(i18n): correct translation issues in Czech files
minimalsm Feb 15, 2026
3420e06
fix(i18n): correct translation issues in zh-tw files
minimalsm Feb 15, 2026
4a1a6d1
fix(i18n): correct zh-tw whitepaper translation errors
minimalsm Feb 15, 2026
26218f4
fix(i18n): fix zh-tw translation issues in pectra, maxeb, scaling pages
minimalsm Feb 15, 2026
a1f6cf0
fix(i18n): fix zh-tw translation issues in part 09
minimalsm Feb 15, 2026
971bb0f
fix(i18n): restore English tags, fix brand names and Crowdin artifact…
minimalsm Feb 15, 2026
e44f94b
fix(i18n): correct zh-tw translation issues in part 05
minimalsm Feb 15, 2026
f57d725
fix(i18n): fix zh-tw translation artifacts in part 06
minimalsm Feb 15, 2026
67d529b
fix(i18n): fix simplified Chinese contamination and escaped asterisks…
minimalsm Feb 15, 2026
b599b37
fix(i18n): fix simplified Chinese and escaped bold in zh-tw part 04
minimalsm Feb 15, 2026
b8638aa
fix(i18n): fix zh-tw translation artifacts in part 01
minimalsm Feb 15, 2026
bd4200c
fix(i18n): fix Swahili translation artifacts in smart contracts docs
minimalsm Feb 15, 2026
059ae78
fix(i18n): restore English frontmatter tags in Swahili tutorials
minimalsm Feb 15, 2026
561de49
fix(i18n): clean Crowdin artifacts in Swahili translations
minimalsm Feb 15, 2026
ee7fb27
fix(i18n): clean Crowdin artifacts in Swahili translations
minimalsm Feb 15, 2026
66e7a5c
fix(i18n): restore missing opening bracket in Swahili RLP markdown link
minimalsm Feb 15, 2026
9163e9e
fix(i18n): remove Crowdin ''text'' artifacts from Swahili translations
minimalsm Feb 15, 2026
23d844c
fix(i18n): replace garbled अथेरम transliteration with Ethereum in mr …
minimalsm Feb 15, 2026
79a40bd
fix(i18n): fix Marathi translation issues in page-what-is-ethereum
minimalsm Feb 15, 2026
2696492
fix(i18n): clean Crowdin artifacts and restore English code blocks in…
minimalsm Feb 15, 2026
0c77715
fix(i18n): correct brand names in mr translations
minimalsm Feb 15, 2026
d683546
fix(i18n): restore English code blocks in mr translations
minimalsm Feb 15, 2026
de2e3ca
fix(i18n): restore Solidity brand name in mr translations
minimalsm Feb 15, 2026
a151334
fix(i18n): correct brand names and staking terminology in mr translat…
minimalsm Feb 15, 2026
1cd5f27
fix(i18n): correct script contamination and terminology in mr transla…
minimalsm Feb 15, 2026
f78fb34
fix(i18n): restore indentation on closing div in mr/community/online
minimalsm Feb 15, 2026
6852d7b
fix(i18n): correct brand names and broken link in mr translations
minimalsm Feb 15, 2026
a36f900
fix(i18n): restore missing HTML tags in Telugu staking translations
minimalsm Feb 15, 2026
0f22da7
fix(i18n): restore English code blocks in Telugu translations
minimalsm Feb 15, 2026
ec024a1
fix(i18n): restore English code blocks in Telugu tutorial translations
minimalsm Feb 15, 2026
dfefb68
fix(i18n): restore bold markup for IPC term in Telugu nodes-and-clients
minimalsm Feb 15, 2026
7f83734
fix(i18n): remove stray </evm> tag in Tamil glossary
minimalsm Feb 15, 2026
476c003
fix(i18n): fix broken markdown in Telugu dencun translation
minimalsm Feb 15, 2026
451f3c6
fix(i18n): disable automatic locale prefix redirect
minimalsm Feb 15, 2026
b2e6632
fix(i18n): remove Telugu script contamination from Tamil translations
minimalsm Feb 15, 2026
e9463b8
fix(i18n): fix Tamil translation issues in ta Part 11
minimalsm Feb 15, 2026
759de99
fix(breadcrumbs): update homepage text and add missing root breadcrumb
minimalsm Feb 15, 2026
6223ddc
feat(footer): add homepage link
minimalsm Feb 15, 2026
1085d64
fix(links): update stale internal links and add missing redirects
minimalsm Feb 15, 2026
a33819c
fix(meta): add noindex for non-production environments
minimalsm Feb 15, 2026
6c4af34
fix(i18n): replace Telugu script contamination with Tamil in create-e…
minimalsm Feb 15, 2026
c007ce0
fix(i18n): fix Telugu contamination and escaped markdown in Tamil tra…
minimalsm Feb 15, 2026
1b3a19f
content: add contextual internal links on key pages
minimalsm Feb 15, 2026
7b6ef5f
fix(i18n): fix cross-script contamination and markdown artifacts in T…
minimalsm Feb 15, 2026
dc5c9fb
fix(i18n): correct Russian char in Ukrainian translation
minimalsm Feb 15, 2026
006aa47
fix(i18n): restore English comments in Solidity code block
minimalsm Feb 15, 2026
032557b
fix(i18n): restore English code blocks and translate missed heading i…
minimalsm Feb 15, 2026
822826a
fix(i18n): repair Crowdin artifacts in Ukrainian translations
minimalsm Feb 15, 2026
d1e6e08
fix(i18n): restore English CLI output in uk/accounts code block
minimalsm Feb 15, 2026
147f43e
fix(i18n): restore missing nonce glossary link in Urdu mining-definition
minimalsm Feb 15, 2026
287f3d3
fix(i18n): restore English code blocks in Urdu tutorial translations
minimalsm Feb 15, 2026
790e40f
fix(i18n): repair escaped bold markdown in Urdu translations
minimalsm Feb 15, 2026
fa5a9f9
fix(i18n): restore English code blocks in Urdu developer tutorials
minimalsm Feb 15, 2026
525e3a2
fix(i18n): repair broken tags and untranslated strings in Urdu
minimalsm Feb 15, 2026
0511eb6
fix(i18n): replace Devanagari fragment with Urdu in pow/index.md
minimalsm Feb 15, 2026
1620e81
fix(i18n): repair broken bold markdown in pl whitepaper
minimalsm Feb 15, 2026
b7176db
fix(i18n): repair broken bold-italic markdown in Polish frameworks page
minimalsm Feb 15, 2026
59ed394
fix(i18n): repair escaped markdown bold in pl composability page
minimalsm Feb 15, 2026
f1ce2f8
fix(i18n): replace Devanagari script contamination in Bengali transla…
minimalsm Feb 15, 2026
724e644
fix(i18n): restore English code blocks in Bengali translations
minimalsm Feb 15, 2026
fa949f7
fix(i18n): replace Devanagari script contamination in Bengali transla…
minimalsm Feb 15, 2026
dd08475
fix(i18n): fix broken placeholders and HTML tag in Bengali translations
minimalsm Feb 15, 2026
2812776
fix(i18n): fix cross-script contamination and brand name in Bengali g…
minimalsm Feb 15, 2026
2be578e
fix(i18n): correct cross-script contamination in Bengali oracles tran…
minimalsm Feb 15, 2026
77b6aa7
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 15, 2026
612657e
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 15, 2026
a03c28d
fix(i18n): replace Crowdin heading artifacts in Bengali translations
minimalsm Feb 15, 2026
946159a
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 15, 2026
3cf6c47
fix: update outdated info on AI agents page
Feb 15, 2026
c8cbd92
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 15, 2026
a32cf4f
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 15, 2026
2ef8041
feat: add ethskills.com link to developers page
Feb 15, 2026
6d02d6c
fix: remove broken DeFi Pulse links (#17193)
Feb 15, 2026
ec3a7ed
Update execution-bounty-hunters.json
fredrik0x Feb 15, 2026
61c5113
fix(ci): complete injection prevention in translation review workflow
pettinarip Feb 16, 2026
b6db9a5
fix(seo): serve original variant to bots during A/B tests
pettinarip Feb 16, 2026
5dac0af
Merge pull request #17574 from ethereum/fredrik0x-patch-1
pettinarip Feb 16, 2026
153ad01
fix(seo): add internal links to orphaned pages
minimalsm Feb 16, 2026
bec4639
fix(seo): add homepage backlinks from top pages by referring domains
minimalsm Feb 16, 2026
3066756
fix(i18n): restore English code comments in Bengali translations
minimalsm Feb 16, 2026
83cdccc
fix(i18n): correct brand name capitalization and transliteration in B…
minimalsm Feb 16, 2026
c1db041
fix(i18n): correct brand names and syntax in Bengali translations
minimalsm Feb 16, 2026
2c279d8
fix(i18n): correct terminology and brand names in German translations
minimalsm Feb 16, 2026
0f3d560
fix(i18n): correct brand names in German translations
minimalsm Feb 16, 2026
5dc30dc
fix(i18n): correct frontmatter tags in German tutorials
minimalsm Feb 16, 2026
19ca81b
Merge pull request #17566 from ethereum/seo/015-footer-homepage-link
pettinarip Feb 16, 2026
326e540
Merge pull request #17569 from ethereum/seo/018-noindex-staging
pettinarip Feb 16, 2026
8d52799
Merge pull request #17559 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
d81d1f1
Merge pull request #17558 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
da8e2ad
Merge pull request #17557 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
962833a
Merge pull request #17555 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
440d040
Merge pull request #17554 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
ce137cb
Merge pull request #17552 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
2b9f573
Merge pull request #17551 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
bf5a0de
Merge pull request #17550 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
4af38b0
Merge pull request #17549 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
c2fe16b
Merge pull request #17548 from ethereum/i18n/import/2026-02-05T19-13-…
minimalsm Feb 16, 2026
e813625
Merge pull request #17536 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
f5464ae
Merge pull request #17537 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
c3261f7
Merge pull request #17538 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
09bacd4
Merge pull request #17539 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
c359772
Merge pull request #17541 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
cff83e0
Merge pull request #17542 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
98b007d
Merge pull request #17546 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
bf9b27a
Merge pull request #17544 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
21a8ef2
Merge pull request #17545 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
0c5acd6
Merge pull request #17533 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
9bfd3e9
Merge pull request #17529 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
a1923a8
Merge pull request #17528 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
a6b2688
Merge pull request #17526 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
e1b5df5
Merge pull request #17523 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
adccc92
Merge pull request #17524 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
2e256d4
Merge pull request #17522 from ethereum/i18n/import/2026-02-04T13-56-…
minimalsm Feb 16, 2026
238584b
Merge pull request #17534 from ethereum/i18n/import/2026-02-05T14-03-…
minimalsm Feb 16, 2026
0204857
Merge pull request #17520 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
fddd663
Merge pull request #17519 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
6f3d872
Merge pull request #17515 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
c10c7a1
Merge pull request #17513 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
f573de7
Merge pull request #17512 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
e33e7e5
Merge pull request #17510 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
767a45f
Merge pull request #17509 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
215d8e6
Merge pull request #17508 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
7e178a0
Merge pull request #17507 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
dc93720
Merge pull request #17506 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
b71e518
Merge pull request #17505 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
40e9969
Merge pull request #17503 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
6fc4d66
Merge pull request #17502 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
2615cb2
Merge pull request #17500 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
4624883
Merge pull request #17499 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
4b61f09
Merge pull request #17498 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
7606d85
Merge pull request #17496 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
36879d4
Merge pull request #17495 from ethereum/i18n/import/2026-02-03T14-22-…
minimalsm Feb 16, 2026
eaf74c4
Merge pull request #17494 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
ac24b8c
Merge pull request #17493 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
213386e
Merge pull request #17492 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
b0bfdd3
Merge pull request #17489 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
8bb436c
Merge pull request #17487 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
15d082c
Merge pull request #17486 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
7543c23
Merge pull request #17484 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
7c7d6f1
Merge pull request #17482 from ethereum/i18n/import/2026-02-03T13-59-…
minimalsm Feb 16, 2026
8ebd1fd
Merge pull request #17481 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
ffd0b54
Merge pull request #17480 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
93b3fc3
Merge pull request #17479 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
43377fe
Merge pull request #17477 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
622a866
Merge pull request #17473 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
85be5c8
Merge pull request #17471 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
cdc38cf
Merge pull request #17470 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
96aa1ef
Merge pull request #17469 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
688b76a
Merge pull request #17468 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
74d42ed
Merge pull request #17467 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
8a48885
Merge pull request #17464 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
68a29d0
Merge pull request #17463 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
7859374
Merge pull request #17461 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
6784ea5
Merge pull request #17460 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
76908bf
Merge pull request #17458 from ethereum/i18n/import/2026-02-01T20-24-…
minimalsm Feb 16, 2026
e313a9f
Merge pull request #17455 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
9a2af71
Merge pull request #17454 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
3ec1ab7
Merge pull request #17453 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
91924d6
Merge pull request #17450 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
4e16e0a
Merge pull request #17448 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
cf78400
Merge pull request #17447 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
decfd62
Merge pull request #17446 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
680ca91
Merge pull request #17444 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
093914f
Merge pull request #17443 from ethereum/i18n/import/2026-01-30T13-42-…
minimalsm Feb 16, 2026
e7dd813
Merge pull request #17442 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
e40db61
Merge pull request #17441 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
9c2b5de
Merge pull request #17435 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
b9fe21f
Merge pull request #17434 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
eedf200
Merge pull request #17432 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
f9f36d8
Merge pull request #17433 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
c7b65a0
Merge pull request #17390 from ethereum/i18n/import/2026-01-24T17-06-…
minimalsm Feb 16, 2026
97e14b1
Merge pull request #17389 from ethereum/i18n/import/2026-01-24T17-06-…
minimalsm Feb 16, 2026
2ff46f0
Merge pull request #17385 from ethereum/i18n/import/2026-01-24T17-06-…
minimalsm Feb 16, 2026
011b74a
Merge pull request #17383 from ethereum/i18n/import/2026-01-24T17-06-…
minimalsm Feb 16, 2026
86599d6
Merge pull request #17382 from ethereum/i18n/import/2026-01-24T17-06-…
minimalsm Feb 16, 2026
d04dc3d
Merge pull request #17518 from ethereum/i18n/import/2026-02-04T00-09-…
minimalsm Feb 16, 2026
9dd8d60
Merge pull request #17476 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
8b1db58
Merge pull request #17474 from ethereum/i18n/import/2026-02-01T20-38-…
minimalsm Feb 16, 2026
84ef775
Merge pull request #17431 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
6d256a3
Merge pull request #17430 from ethereum/i18n/import/2026-01-29T02-18-…
minimalsm Feb 16, 2026
2b5c334
Merge pull request #17429 from ethereum/i18n/import/2026-01-27T21-23-…
minimalsm Feb 16, 2026
98e23f5
Merge pull request #17428 from ethereum/i18n/import/2026-01-27T21-23-…
minimalsm Feb 16, 2026
a31cb08
fix: graceful degradation for homepage data fetching with force-dynamic
pettinarip Feb 16, 2026
0dceff5
Merge pull request #17570 from ethereum/seo/019-internal-links
pettinarip Feb 16, 2026
98ae961
Merge pull request #17561 from ethereum/seo/010-disable-locale-detection
pettinarip Feb 16, 2026
68d450e
Merge pull request #17565 from ethereum/seo/014-fix-breadcrumbs
pettinarip Feb 16, 2026
d2b8d78
Merge pull request #17568 from ethereum/seo/017-fix-redirects
pettinarip Feb 16, 2026
206a1d6
perf: limit RSS items to 3 per feed
pettinarip Feb 16, 2026
0e1d2df
Merge branch 'dev' into fix/orphaned-page-links
pettinarip Feb 16, 2026
be4eb05
Merge pull request #17578 from ethereum/fix/orphaned-page-links
pettinarip Feb 16, 2026
5612c1f
Update Nimbus URL on Bug Bounty Page
fredrik0x Feb 16, 2026
ec0dcdc
Added Audittens to bug bounty leaderboard
fredrik0x Feb 17, 2026
ae17c1f
Adding DongHan Kim
fredrik0x Feb 17, 2026
d1c7250
Merge pull request #17576 from ethereum/fix/ci-complete-injection-pre…
wackerow Feb 17, 2026
dd037e8
patch: capitalization
wackerow Feb 18, 2026
46c1249
Merge pull request #17571 from konopkja/fix/ai-agents-outdated-info
wackerow Feb 18, 2026
1eda0e4
patch: link attributes, copy, layout
wackerow Feb 18, 2026
1cffe87
Merge pull request #17573 from konopkja/fix/broken-defi-pulse-links
wackerow Feb 18, 2026
f3b3f3a
feat(i18n): add ethskills-label translations for all 24 locales
wackerow Feb 18, 2026
33cba12
patch: punctuation
wackerow Feb 18, 2026
1b24c17
Merge branch 'dev' into pr/17572
wackerow Feb 18, 2026
a91618f
Merge pull request #17572 from konopkja/feat/add-ethskills-link
wackerow Feb 18, 2026
a9282b9
Merge pull request #17585 from ethereum/fredrik0x-patch-1
wackerow Feb 18, 2026
3dac4b4
Merge pull request #17588 from ethereum/fredrik0x-patch-2
wackerow Feb 18, 2026
86571f4
Merge pull request #17294 from ethereum/home-redesign-ab-test
pettinarip Feb 18, 2026
9fb1b3a
fix: address pr review feedback for homepage components
pettinarip Feb 18, 2026
5ba8a3d
refactor: use section component with id in trustlogos
pettinarip Feb 18, 2026
d117fc7
fix: use external url for enterprise links to avoid cors prefetch errors
pettinarip Feb 18, 2026
846d0cc
Merge remote-tracking branch 'origin/dev' into home-redesign
pettinarip Feb 18, 2026
570320c
perf: replace dynamic imports with fs.readFile for i18n and md content
pettinarip Feb 18, 2026
89ab14f
Merge pull request #17589 from ethereum/perf/fs-readfile-imports
wackerow Feb 18, 2026
732a533
Merge branch 'dev' into perf/limit-rss-items-per-feed
wackerow Feb 18, 2026
3b3e154
Merge pull request #17580 from ethereum/perf/limit-rss-items-per-feed
wackerow Feb 18, 2026
602a420
Merge branch 'dev' into home-redesign
pettinarip Feb 19, 2026
fc7b77d
fix(analytics): enable sendbeacon for reliable click tracking during …
pettinarip Feb 19, 2026
76d583d
fix(analytics): ensure link click tracking works with ButtonLink
pettinarip Feb 19, 2026
a155de9
Merge pull request #17261 from ethereum/home-redesign
pettinarip Feb 19, 2026
35ec279
Merge remote-tracking branch 'origin/dev' into fix/matomo-link-tracking
pettinarip Feb 19, 2026
7dd28e0
fix(analytics): include destination URL in link click event name
pettinarip Feb 19, 2026
ded400a
Merge pull request #17595 from ethereum/fix/matomo-link-tracking
wackerow Feb 19, 2026
072d1ec
Merge staging into dev
pettinarip Feb 19, 2026
182de17
10.24.0
pettinarip Feb 19, 2026
2ce20ab
Merge pull request #17273 from ethereum/metamask
pettinarip Feb 19, 2026
67a3b83
Revert "fix(seo): serve original variant to bots during A/B tests"
pettinarip Feb 20, 2026
4a76589
Merge pull request #17605 from ethereum/revert/bot-detection-ab-test
pettinarip Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .claude/commands/review-translations.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Review translation imports for quality issues (runs after sanitizer)
allowed-tools: Bash, Read, Glob, Grep, Task, AskUserQuestion
argument-hint: [--pr=NUMBER (auto)] [--scope=pr|full (pr)] [--language=CODE] [--model=opus|sonnet|haiku (opus)]
allowed-tools: Bash, Read, Glob, Grep, Task, Edit, AskUserQuestion
argument-hint: [--pr=NUMBER (auto)] [--scope=pr|full (pr)] [--language=CODE] [--model=opus|sonnet|haiku (opus)] [--fix]
---

# Translation Review Command
Expand Down Expand Up @@ -44,6 +44,7 @@ Reviews all files for a language when no PR context is available.
| `--scope=pr\|full` | `pr` = only PR changed files, `full` = all files for languages | `pr` |
| `--language=CODES` | Filter to specific language(s), comma-separated | all languages in PR |
| `--model=MODEL` | Model for analysis: `opus` (deep), `sonnet` (balanced), `haiku` (fast) | `opus` |
| `--fix` | Automatically apply fixes for critical issues after review | disabled |

## Phase 0: Determine Mode and Scope

Expand Down
146 changes: 122 additions & 24 deletions .github/workflows/claude-review-translations.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,38 @@
name: Claude Translation Review

on:
workflow_dispatch:
inputs:
pr_number:
description: "PR number to review"
required: true
type: number
language:
description: "Language code(s) to review (comma-separated, e.g. 'hi' or 'hi,bn')"
required: false
type: string
scope:
description: "Review scope"
required: false
default: "pr"
type: choice
options:
- pr
- full
model:
description: "Claude model for analysis"
required: false
default: "opus"
type: choice
options:
- opus
- sonnet
- haiku
fix:
description: "Automatically fix critical translation issues"
required: false
default: false
type: boolean
issue_comment:
types: [created]
pull_request_review_comment:
Expand All @@ -12,27 +44,29 @@ jobs:
review-translations:
# Runs when:
# 1. Comment contains @claude /review-translations (from authorized user), OR
# 2. PR is opened with title starting with "i18n:" (automatic)
# 2. PR is opened with title starting with "i18n:" (automatic), OR
# 3. Manually dispatched from Actions tab with a PR number
if: |
github.event_name == 'workflow_dispatch' ||
(
github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '@claude') &&
contains(github.event.comment.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.comment.user.login) &&
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.comment.user.login) &&
github.event.issue.pull_request
) ||
(
github.event_name == 'pull_request_review_comment' &&
contains(github.event.comment.body, '@claude') &&
contains(github.event.comment.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.comment.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.comment.user.login)
) ||
(
github.event_name == 'pull_request' &&
startsWith(github.event.pull_request.title, 'i18n:') &&
startsWith(github.event.pull_request.head.ref, 'i18n/') &&
github.event.pull_request.head.repo.full_name == github.repository &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.pull_request.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.pull_request.user.login)
)
runs-on: ubuntu-latest
permissions:
Expand All @@ -49,26 +83,68 @@ jobs:

- name: Get PR number
id: pr
env:
# All values moved to env block to prevent shell injection
EVENT_NAME: ${{ github.event_name }}
INPUT_PR_NUMBER: ${{ github.event.inputs.pr_number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "number=${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT
if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
PR_NUM="$INPUT_PR_NUMBER"
elif [[ "$EVENT_NAME" == "pull_request" || "$EVENT_NAME" == "pull_request_review_comment" ]]; then
PR_NUM="$PR_NUMBER"
else
echo "number=${{ github.event.issue.number }}" >> $GITHUB_OUTPUT
PR_NUM="$ISSUE_NUMBER"
fi

# Validate PR number is numeric to prevent injection in downstream usage
if [[ ! "$PR_NUM" =~ ^[0-9]+$ ]]; then
echo "Error: PR number must be numeric, got: $PR_NUM"
exit 1
fi

echo "number=$PR_NUM" >> $GITHUB_OUTPUT

- name: Extract flags from comment
id: parse
env:
EVENT_NAME: ${{ github.event_name }}
INPUT_LANGUAGE: ${{ github.event.inputs.language }}
INPUT_SCOPE: ${{ github.event.inputs.scope }}
INPUT_MODEL: ${{ github.event.inputs.model }}
INPUT_FIX: ${{ github.event.inputs.fix }}
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
# For automatic triggers (pull_request), use defaults
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
if [[ "$EVENT_NAME" == "pull_request" ]]; then
echo "language_flag=" >> $GITHUB_OUTPUT
echo "scope_flag=" >> $GITHUB_OUTPUT
echo "model=opus" >> $GITHUB_OUTPUT
echo "fix_flag=" >> $GITHUB_OUTPUT
exit 0
fi

COMMENT_BODY="${{ github.event.comment.body }}"
# For manual dispatch, read directly from inputs
if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
if [[ -n "$INPUT_LANGUAGE" && "$INPUT_LANGUAGE" =~ ^[a-zA-Z,-]+$ ]]; then
echo "language_flag=--language=${INPUT_LANGUAGE}" >> $GITHUB_OUTPUT
else
echo "language_flag=" >> $GITHUB_OUTPUT
fi
# INPUT_SCOPE and INPUT_MODEL are choice types, safe values enforced by GitHub
echo "scope_flag=--scope=${INPUT_SCOPE}" >> $GITHUB_OUTPUT
echo "model=${INPUT_MODEL}" >> $GITHUB_OUTPUT
# Set fix_flag based on checkbox input
if [[ "$INPUT_FIX" == "true" ]]; then
echo "fix_flag=--fix" >> $GITHUB_OUTPUT
else
echo "fix_flag=" >> $GITHUB_OUTPUT
fi
exit 0
fi

# COMMENT_BODY is passed via env to prevent shell injection.
# Extract --language flag if present
if [[ "$COMMENT_BODY" =~ --language=([a-zA-Z,-]+) ]]; then
echo "language_flag=--language=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
Expand All @@ -90,29 +166,51 @@ jobs:
echo "model=opus" >> $GITHUB_OUTPUT
fi

# Extract --fix flag if present
if [[ "$COMMENT_BODY" =~ --fix ]]; then
echo "fix_flag=--fix" >> $GITHUB_OUTPUT
else
echo "fix_flag=" >> $GITHUB_OUTPUT
fi

- name: Post acknowledgment
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ steps.pr.outputs.number }}
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
gh pr comment "$PR_NUMBER" --body "$(cat <<EOF
:globe_with_meridians: **Translation review started.** [View progress]($RUN_URL)
EOF
)"

- name: Run Claude Translation Review
uses: anthropics/claude-code-action@v1
timeout-minutes: 120
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
timeout_minutes: "120"
claude_args: "--model ${{ steps.parse.outputs.model }}"
# Enable Task tool for parallel language review agents (read-only - no git write operations)
allowed_tools: "Task,Glob,Grep,LS,Read,Bash(git status:*),Bash(git diff:*),Bash(git log:*),Bash(git worktree:*),Bash(gh api:*),Bash(gh pr view:*)"
claude_args: |
--model ${{ steps.parse.outputs.model }}
--allowedTools "Task,Glob,Grep,LS,Read,Edit,WebFetch,Bash(git status:*),Bash(git diff:*),Bash(git log:*),Bash(git fetch:*),Bash(git worktree:*),Bash(git add:*),Bash(git commit:*),Bash(gh api:*),Bash(gh pr view:*),Bash(gh pr comment:*)"
prompt: |
Execute the /review-translations command for PR #${{ steps.pr.outputs.number }}.

Arguments: --pr=${{ steps.pr.outputs.number }} ${{ steps.parse.outputs.language_flag }} ${{ steps.parse.outputs.scope_flag }}
Arguments: --pr=${{ steps.pr.outputs.number }} ${{ steps.parse.outputs.language_flag }} ${{ steps.parse.outputs.scope_flag }} ${{ steps.parse.outputs.fix_flag }}

Follow the instructions in .claude/commands/review-translations.md exactly.
Follow the instructions in .claude/commands/review-translations.md for Phase 0 (scope detection), Phase 1 (parallel agents), and Phase 2 (collecting results).

IMPORTANT workflow modifications for GitHub Actions context:
1. Use parallel Task agents (ONE agent per language) as specified in the skill
2. After completing the review, post the quality scores and findings as a comment on this PR
3. Do NOT apply fixes automatically - just report the issues found
4. Do NOT prompt for user input - this is an automated workflow
5. At the end of your review comment, if there are critical issues, include this section:
---
**To apply fixes**, reply with:
```
@claude Fix the critical brand name translation issues listed above
```
2. After collecting results in Phase 2, post the full review report as a PR comment using:
gh pr comment ${{ steps.pr.outputs.number }} --body "..."
Use a HEREDOC for the body to preserve formatting.
3. If the report is very long (>60000 chars), split it into multiple comments per language
4. Auto-fix behavior - check if --fix flag is present in Arguments above:
- If --fix flag IS present: After posting the review, automatically apply fixes for all critical issues found using the Edit tool (work in PR branch worktree as specified in skill). Then commit the changes.
- If --fix flag is NOT present: Do NOT apply fixes automatically - just report the issues found. At the end of your review comment, if there are critical issues, include:
---
**To apply fixes**, reply with:
```
@claude /review-translations --fix
```
5. Do NOT prompt for user input with AskUserQuestion - this is fully automated
8 changes: 4 additions & 4 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,25 @@ jobs:
github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '@claude') &&
!contains(github.event.comment.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.comment.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.comment.user.login)
) ||
(
github.event_name == 'pull_request_review_comment' &&
contains(github.event.comment.body, '@claude') &&
!contains(github.event.comment.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.comment.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.comment.user.login)
) ||
(
github.event_name == 'pull_request_review' &&
contains(github.event.review.body, '@claude') &&
!contains(github.event.review.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.review.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.review.user.login)
) ||
(
github.event_name == 'issues' &&
contains(github.event.issue.body, '@claude') &&
!contains(github.event.issue.body, '/review-translations') &&
contains('minimalsm,pettinarip,wackerow,nloureiro,konopkja', github.event.issue.user.login)
contains(fromJSON('["minimalsm","pettinarip","wackerow","nloureiro","konopkja"]'), github.event.issue.user.login)
)
runs-on: ubuntu-latest
permissions:
Expand Down
6 changes: 6 additions & 0 deletions app/[locale]/apps/[application]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,12 @@ const Page = async ({
<div className="flex flex-col gap-10 px-4 md:px-10">
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Ethereum.org</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator className="me-[0.625rem] ms-[0.625rem] text-gray-400">
/
</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbLink href="/apps">ALL APPS</BreadcrumbLink>
</BreadcrumbItem>
Expand Down
6 changes: 6 additions & 0 deletions app/[locale]/apps/categories/[catetgoryName]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ const Page = async ({
breadcrumbs={
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Ethereum.org</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator className="me-[0.625rem] ms-[0.625rem] text-gray-400">
/
</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbLink href="/apps" className="uppercase">
{t("page-apps-all-apps")}
Expand Down
2 changes: 1 addition & 1 deletion app/[locale]/bug-bounty/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ export default async function Page({ params }: { params: Promise<Params> }) {
},
{
title: "Nimbus",
link: "https://our.status.im/tag/nimbus/",
link: "https://nimbus.team/",
image: nimbus,
},
{
Expand Down
12 changes: 12 additions & 0 deletions app/[locale]/developers/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
<div>
<Link
href="https://docs.scaffoldeth.io/llms-full.txt"
className="block"
customEventOptions={{
eventCategory: "mid_boxes",
eventAction: "click",
Expand All @@ -283,6 +284,17 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
>
Scaffold-ETH 2 <code>llms-full.txt</code>
</Link>
<Link
href="https://ethskills.com/"
className="block"
customEventOptions={{
eventCategory: "mid_boxes",
eventAction: "click",
eventName: "ethskills",
}}
>
ethskills.com - {t("page-developers-ethskills-label")}
</Link>
</div>
</Card>

Expand Down
Loading
Loading