From 6b991f6cb976a0ed3034930569397eb7e96be3f5 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Tue, 10 Mar 2026 15:36:41 -0700 Subject: [PATCH 01/17] feat: add ethskills callout section to /developers Promotes ethskills.com with its ASCII block logo, a short description of the agentic Ethereum stack, an animated terminal cycling through natural-language agent prompts, and a CTA button. Removes the previous inline link from the Quickstart card. Co-Authored-By: Claude Sonnet 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../_components/EthSkillsTerminal.tsx | 86 +++++++++++++++++++ app/[locale]/developers/page.tsx | 53 +++++++++--- 2 files changed, 128 insertions(+), 11 deletions(-) create mode 100644 app/[locale]/developers/_components/EthSkillsTerminal.tsx diff --git a/app/[locale]/developers/_components/EthSkillsTerminal.tsx b/app/[locale]/developers/_components/EthSkillsTerminal.tsx new file mode 100644 index 00000000000..e59bea755a9 --- /dev/null +++ b/app/[locale]/developers/_components/EthSkillsTerminal.tsx @@ -0,0 +1,86 @@ +"use client" + +import { useEffect, useState } from "react" + +const COMMANDS = [ + "launch a coin for my community", + "build a fan club that pays me when people join", + "let my art earn royalties every time it resells", + "create a DAO and let my fans vote on what I build", + "set up a vault that grows my ETH while I sleep", +] + +const TYPING_MS = 60 +const DELETE_MS = 28 +const PAUSE_MS = 2000 +const NEXT_MS = 350 + +type Phase = "typing" | "paused" | "deleting" + +export function EthSkillsTerminal() { + const [cmdIdx, setCmdIdx] = useState(0) + const [text, setText] = useState("") + const [phase, setPhase] = useState("typing") + const [cursorOn, setCursorOn] = useState(true) + + useEffect(() => { + const id = setInterval(() => setCursorOn((v) => !v), 530) + return () => clearInterval(id) + }, []) + + useEffect(() => { + const cmd = COMMANDS[cmdIdx] + let id: ReturnType + + if (phase === "typing") { + if (text.length < cmd.length) { + id = setTimeout(() => setText(cmd.slice(0, text.length + 1)), TYPING_MS) + } else { + id = setTimeout(() => setPhase("paused"), 50) + } + } else if (phase === "paused") { + id = setTimeout(() => setPhase("deleting"), PAUSE_MS) + } else { + if (text.length > 0) { + id = setTimeout(() => setText((t) => t.slice(0, -1)), DELETE_MS) + } else { + id = setTimeout(() => { + setCmdIdx((i) => (i + 1) % COMMANDS.length) + setPhase("typing") + }, NEXT_MS) + } + } + + return () => clearTimeout(id) + }, [text, phase, cmdIdx]) + + return ( +
+
+
+ + + +
+
+ + {"$\u00a0"} + + {text} + + {"█"} + +
+
+
+ ) +} diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index 2f69b11e16e..ad5e30e2e23 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -36,6 +36,7 @@ import { screens } from "@/lib/utils/screen" import BuilderCard from "./_components/BuilderCard" import BuilderSwiper from "./_components/BuilderSwiper/lazy" +import { EthSkillsTerminal } from "./_components/EthSkillsTerminal" import SpeedRunCard from "./_components/SpeedRunCard" import VideoCourseCard from "./_components/VideoCourseCard" import VideoCourseSwiper from "./_components/VideoCourseSwiper/lazy" @@ -221,6 +222,47 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { +
+
+
+
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
+ ██╔════╝╚══██╔══╝██║  ██║██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
+ █████╗     ██║   ███████║███████╗█████╔╝ ██║██║     ██║     ███████╗
+ ██╔══╝     ██║   ██╔══██║╚════██║██╔═██╗ ██║██║     ██║     ╚════██║
+ ███████╗   ██║   ██║  ██║███████║██║  ██╗██║███████╗███████╗███████║
+ ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝`}
+
+ +
+

+ Build onchain with agents +

+

+ Structured Ethereum knowledge for the agentic stack. Give your + AI agent the context it needs to read state, send + transactions, and coordinate with protocols—without + leaving the model's context window. +

+
+ + + + + Build with ethskills + +
+
+
{ > Scaffold-ETH 2 llms-full.txt - - ethskills.com - {t("page-developers-ethskills-label")} - From f0119264614f59360e80feb871f949043b0d04d6 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 08:26:13 -0700 Subject: [PATCH 02/17] patch(ui): color/position adjustment, fix overflow --- .../_components/EthSkillsTerminal.tsx | 34 +++++++++---------- app/[locale]/developers/page.tsx | 12 +++---- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/app/[locale]/developers/_components/EthSkillsTerminal.tsx b/app/[locale]/developers/_components/EthSkillsTerminal.tsx index e59bea755a9..61196850c60 100644 --- a/app/[locale]/developers/_components/EthSkillsTerminal.tsx +++ b/app/[locale]/developers/_components/EthSkillsTerminal.tsx @@ -2,6 +2,8 @@ import { useEffect, useState } from "react" +import { cn } from "@/lib/utils/cn" + const COMMANDS = [ "launch a coin for my community", "build a fan club that pays me when people join", @@ -58,26 +60,24 @@ export function EthSkillsTerminal() {
- - - + + +
-
- +
+ {"$\u00a0"} - {text} - - {"█"} + + {text} + + {"█"} +
diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index ad5e30e2e23..1feb4dd8588 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -223,10 +223,10 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
-
-
+
+
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
  ██╔════╝╚══██╔══╝██║  ██║██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
@@ -236,10 +236,8 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
  ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝`}
-
-

- Build onchain with agents -

+
+

Build onchain with agents

Structured Ethereum knowledge for the agentic stack. Give your AI agent the context it needs to read state, send From e5610ccf62ace78b65b96b94fc8bf8d08fa24570 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 11:47:12 -0700 Subject: [PATCH 03/17] fix: a11y contrast, line height shift, em dash --- app/[locale]/developers/_components/EthSkillsTerminal.tsx | 4 ++-- app/[locale]/developers/page.tsx | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/[locale]/developers/_components/EthSkillsTerminal.tsx b/app/[locale]/developers/_components/EthSkillsTerminal.tsx index 61196850c60..ff56867b818 100644 --- a/app/[locale]/developers/_components/EthSkillsTerminal.tsx +++ b/app/[locale]/developers/_components/EthSkillsTerminal.tsx @@ -58,7 +58,7 @@ export function EthSkillsTerminal() { return (

-
+
@@ -68,7 +68,7 @@ export function EthSkillsTerminal() { {"$\u00a0"} - + {text} {
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
  ██╔════╝╚══██╔══╝██║  ██║██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
@@ -241,8 +241,8 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
                 

Structured Ethereum knowledge for the agentic stack. Give your AI agent the context it needs to read state, send - transactions, and coordinate with protocols—without - leaving the model's context window. + transactions, and coordinate with protocols, without leaving + the model's context window.

@@ -250,6 +250,7 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { Date: Wed, 11 Mar 2026 19:22:33 +0000 Subject: [PATCH 04/17] refactor: extract TerminalTypewriter component Move EthSkillsTerminal into a reusable TerminalTypewriter UI component that accepts a messages prop. Add Storybook story with multiple variants. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- app/[locale]/developers/page.tsx | 12 +++++-- .../TerminalTypewriter.stories.tsx | 27 ++++++++++++++++ .../components/ui/terminal-typewriter.tsx | 32 +++++++++---------- 3 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 src/components/ui/__stories__/TerminalTypewriter.stories.tsx rename app/[locale]/developers/_components/EthSkillsTerminal.tsx => src/components/ui/terminal-typewriter.tsx (76%) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index aecdfc2419e..d9b1b788e91 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -27,6 +27,7 @@ import { VStack } from "@/components/ui/flex" import Link from "@/components/ui/Link" import InlineLink from "@/components/ui/Link" import { Section } from "@/components/ui/section" +import { TerminalTypewriter } from "@/components/ui/terminal-typewriter" import { cn } from "@/lib/utils/cn" import { getAppPageContributorInfo } from "@/lib/utils/contributors" @@ -36,7 +37,6 @@ import { screens } from "@/lib/utils/screen" import BuilderCard from "./_components/BuilderCard" import BuilderSwiper from "./_components/BuilderSwiper/lazy" -import { EthSkillsTerminal } from "./_components/EthSkillsTerminal" import SpeedRunCard from "./_components/SpeedRunCard" import VideoCourseCard from "./_components/VideoCourseCard" import VideoCourseSwiper from "./_components/VideoCourseSwiper/lazy" @@ -246,7 +246,15 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {

- + + +export default meta + +type Story = StoryObj + +export const Default: Story = { + args: { + messages: [ + "launch a coin for my community", + "build a fan club that pays me when people join", + "let my art earn royalties every time it resells", + "create a DAO and let my fans vote on what I build", + "set up a vault that grows my ETH while I sleep", + ], + }, +} diff --git a/app/[locale]/developers/_components/EthSkillsTerminal.tsx b/src/components/ui/terminal-typewriter.tsx similarity index 76% rename from app/[locale]/developers/_components/EthSkillsTerminal.tsx rename to src/components/ui/terminal-typewriter.tsx index ff56867b818..5635b2a50c3 100644 --- a/app/[locale]/developers/_components/EthSkillsTerminal.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -4,14 +4,6 @@ import { useEffect, useState } from "react" import { cn } from "@/lib/utils/cn" -const COMMANDS = [ - "launch a coin for my community", - "build a fan club that pays me when people join", - "let my art earn royalties every time it resells", - "create a DAO and let my fans vote on what I build", - "set up a vault that grows my ETH while I sleep", -] - const TYPING_MS = 60 const DELETE_MS = 28 const PAUSE_MS = 2000 @@ -19,8 +11,16 @@ const NEXT_MS = 350 type Phase = "typing" | "paused" | "deleting" -export function EthSkillsTerminal() { - const [cmdIdx, setCmdIdx] = useState(0) +interface TerminalTypewriterProps { + messages: string[] + className?: string +} + +export function TerminalTypewriter({ + messages, + className, +}: TerminalTypewriterProps) { + const [msgIdx, setMsgIdx] = useState(0) const [text, setText] = useState("") const [phase, setPhase] = useState("typing") const [cursorOn, setCursorOn] = useState(true) @@ -31,12 +31,12 @@ export function EthSkillsTerminal() { }, []) useEffect(() => { - const cmd = COMMANDS[cmdIdx] + const msg = messages[msgIdx] let id: ReturnType if (phase === "typing") { - if (text.length < cmd.length) { - id = setTimeout(() => setText(cmd.slice(0, text.length + 1)), TYPING_MS) + if (text.length < msg.length) { + id = setTimeout(() => setText(msg.slice(0, text.length + 1)), TYPING_MS) } else { id = setTimeout(() => setPhase("paused"), 50) } @@ -47,17 +47,17 @@ export function EthSkillsTerminal() { id = setTimeout(() => setText((t) => t.slice(0, -1)), DELETE_MS) } else { id = setTimeout(() => { - setCmdIdx((i) => (i + 1) % COMMANDS.length) + setMsgIdx((i) => (i + 1) % messages.length) setPhase("typing") }, NEXT_MS) } } return () => clearTimeout(id) - }, [text, phase, cmdIdx]) + }, [text, phase, msgIdx, messages]) return ( -
+
From c65cfed0e2f5de8454cecf8bf28f379f56699cfb Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 19:41:34 +0000 Subject: [PATCH 05/17] i18n: extract ethskills section strings Add translation keys for the ethskills section heading, description, terminal messages, and CTA button. Use interpolation variable for brand name protection. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- app/[locale]/developers/page.tsx | 19 ++++++++----------- src/intl/en/page-developers-index.json | 8 ++++++++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index d9b1b788e91..dc4f82d6ca5 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -237,22 +237,19 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
-

Build onchain with agents

+

{t("page-developers-ethskills-title")}

- Structured Ethereum knowledge for the agentic stack. Give your - AI agent the context it needs to read state, send - transactions, and coordinate with protocols, without leaving - the model's context window. + {t("page-developers-ethskills-desc")}

@@ -265,7 +262,7 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { eventName: "ethskills-section-cta", }} > - Build with ethskills + {t("page-developers-ethskills-cta", { ethskills: "ethskills" })}
diff --git a/src/intl/en/page-developers-index.json b/src/intl/en/page-developers-index.json index 43383218cf1..e55eee9b630 100644 --- a/src/intl/en/page-developers-index.json +++ b/src/intl/en/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDEs that are suitable for dapp development", "page-developers-dev-env-link": "Development environments", "page-developers-docs-introductions": "Introductions", + "page-developers-ethskills-cta": "Build with {ethskills}", + "page-developers-ethskills-desc": "Structured Ethereum knowledge for the agentic stack. Give your AI agent the context it needs to read state, send transactions, and coordinate with protocols, without leaving the model's context window.", "page-developers-ethskills-label": "AI agent context for Ethereum", + "page-developers-ethskills-msg-1": "launch a coin for my community", + "page-developers-ethskills-msg-2": "build a fan club that pays me when people join", + "page-developers-ethskills-msg-3": "let my art earn royalties every time it resells", + "page-developers-ethskills-msg-4": "create a DAO and let my fans vote on what I build", + "page-developers-ethskills-msg-5": "set up a vault that grows my ETH while I sleep", + "page-developers-ethskills-title": "Build onchain with agents", "page-developers-evm-desc": "The computer that processes transactions", "page-developers-evm-link": "The Ethereum virtual machine (EVM)", "page-developers-explore-documentation": "Explore the documentation", From 02975493795a9b2a5f3495cb5b7960c6008f323e Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 19:47:31 +0000 Subject: [PATCH 06/17] fix: RTL support and width for typewriter Add dir="ltr" to terminal chrome and dir="auto" to text content for proper RTL language rendering. Add RTL Storybook story and fix width display in stories. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../TerminalTypewriter.stories.tsx | 33 +++++++++++++++++-- src/components/ui/terminal-typewriter.tsx | 7 ++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx index c521541e3e7..3a477ad0820 100644 --- a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx +++ b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx @@ -5,9 +5,13 @@ import { TerminalTypewriter } from "../terminal-typewriter" const meta = { title: "Atoms / Media & Icons / TerminalTypewriter", component: TerminalTypewriter, - parameters: { - layout: "centered", - }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], } satisfies Meta export default meta @@ -25,3 +29,26 @@ export const Default: Story = { ], }, } + +export const ShortMessages: Story = { + args: { + messages: ["deploy contract", "verify on etherscan", "run tests"], + }, +} + +export const RTL: Story = { + decorators: [ + (Story) => ( +
+ +
+ ), + ], + args: { + messages: [ + "إطلاق عملة لمجتمعي", + "بناء نادي معجبين يدفع لي عند انضمام الأعضاء", + "جعل فني يكسب عوائد في كل مرة يعاد بيعه", + ], + }, +} diff --git a/src/components/ui/terminal-typewriter.tsx b/src/components/ui/terminal-typewriter.tsx index 5635b2a50c3..20989364dc1 100644 --- a/src/components/ui/terminal-typewriter.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -64,11 +64,14 @@ export function TerminalTypewriter({ -
+
{"$\u00a0"} - + {text} Date: Wed, 11 Mar 2026 19:53:51 +0000 Subject: [PATCH 07/17] fix: pin terminal chrome LTR, move story Move dir="ltr" to terminal container so window buttons stay left in RTL contexts. Move Storybook story to Molecules / Display Content. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../ui/__stories__/TerminalTypewriter.stories.tsx | 2 +- src/components/ui/terminal-typewriter.tsx | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx index 3a477ad0820..67ef7367bc7 100644 --- a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx +++ b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx @@ -3,7 +3,7 @@ import { Meta, StoryObj } from "@storybook/react" import { TerminalTypewriter } from "../terminal-typewriter" const meta = { - title: "Atoms / Media & Icons / TerminalTypewriter", + title: "Molecules / Display Content / TerminalTypewriter", component: TerminalTypewriter, decorators: [ (Story) => ( diff --git a/src/components/ui/terminal-typewriter.tsx b/src/components/ui/terminal-typewriter.tsx index 20989364dc1..2de33e4f61d 100644 --- a/src/components/ui/terminal-typewriter.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -58,16 +58,16 @@ export function TerminalTypewriter({ return (
-
+
-
+
{"$\u00a0"} From 0382d65ace0ba4db73933a57f6c8549a139c3c1a Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 20:06:20 +0000 Subject: [PATCH 08/17] i18n: add ethskills translations for 24 locales Add translated ethskills section strings (title, desc, CTA, 5 terminal messages) for all non-English locales. AI-generated -- recommend native speaker review. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- src/intl/ar/page-developers-index.json | 8 ++++++++ src/intl/bn/page-developers-index.json | 8 ++++++++ src/intl/cs/page-developers-index.json | 8 ++++++++ src/intl/de/page-developers-index.json | 8 ++++++++ src/intl/es/page-developers-index.json | 8 ++++++++ src/intl/fr/page-developers-index.json | 8 ++++++++ src/intl/hi/page-developers-index.json | 8 ++++++++ src/intl/id/page-developers-index.json | 8 ++++++++ src/intl/it/page-developers-index.json | 8 ++++++++ src/intl/ja/page-developers-index.json | 8 ++++++++ src/intl/ko/page-developers-index.json | 8 ++++++++ src/intl/mr/page-developers-index.json | 8 ++++++++ src/intl/pl/page-developers-index.json | 8 ++++++++ src/intl/pt-br/page-developers-index.json | 8 ++++++++ src/intl/ru/page-developers-index.json | 8 ++++++++ src/intl/sw/page-developers-index.json | 8 ++++++++ src/intl/ta/page-developers-index.json | 8 ++++++++ src/intl/te/page-developers-index.json | 8 ++++++++ src/intl/tr/page-developers-index.json | 14 +++++++++++--- src/intl/uk/page-developers-index.json | 8 ++++++++ src/intl/ur/page-developers-index.json | 8 ++++++++ src/intl/vi/page-developers-index.json | 8 ++++++++ src/intl/zh-tw/page-developers-index.json | 8 ++++++++ src/intl/zh/page-developers-index.json | 8 ++++++++ 24 files changed, 195 insertions(+), 3 deletions(-) diff --git a/src/intl/ar/page-developers-index.json b/src/intl/ar/page-developers-index.json index b4b468c1cb4..dcbc69f53b0 100644 --- a/src/intl/ar/page-developers-index.json +++ b/src/intl/ar/page-developers-index.json @@ -19,7 +19,15 @@ "page-developers-dev-env-link": "بيئات التطوير", "page-developers-discord": "انضم لنا على الديسكورد", "page-developers-docs-introductions": "المقدمات", + "page-developers-ethskills-cta": "ابنِ مع {ethskills}", + "page-developers-ethskills-desc": "معرفة منظمة بإيثريوم لحزمة الوكلاء الذكية. امنح وكيل الذكاء الاصطناعي الخاص بك السياق الذي يحتاجه لقراءة الحالة وإرسال المعاملات والتنسيق مع البروتوكولات، دون مغادرة نافذة سياق النموذج.", "page-developers-ethskills-label": "سياق وكيل الذكاء الاصطناعي لإيثريوم", + "page-developers-ethskills-msg-1": "أطلق عملة لمجتمعي", + "page-developers-ethskills-msg-2": "أنشئ نادي معجبين يدفع لي عندما ينضم الناس", + "page-developers-ethskills-msg-3": "اجعل فني يكسب عوائد في كل مرة يُعاد بيعه", + "page-developers-ethskills-msg-4": "أنشئ DAO ودع معجبيّ يصوتون على ما أبنيه", + "page-developers-ethskills-msg-5": "أعدّ خزنة تنمّي ETH الخاص بي وأنا نائم", + "page-developers-ethskills-title": "ابنِ onchain مع الوكلاء", "page-developers-evm-desc": "الكمبيوتر الذي يعالج المعاملات", "page-developers-evm-link": "جهاز إثيريوم الظاهري (EVM)", "page-developers-explore-documentation": "استكشاف الوثائق", diff --git a/src/intl/bn/page-developers-index.json b/src/intl/bn/page-developers-index.json index e615d99f4e7..a77c2eeb2ef 100644 --- a/src/intl/bn/page-developers-index.json +++ b/src/intl/bn/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "যে IDE-গুলি ড্যাপ ডেভেলপমেন্টের জন্য উপযুক্ত", "page-developers-dev-env-link": "ডেভেলপমেন্টের পরিবেশ", "page-developers-docs-introductions": "পরিচিতি", + "page-developers-ethskills-cta": "{ethskills} দিয়ে তৈরি করুন", + "page-developers-ethskills-desc": "এজেন্টিক স্ট্যাকের জন্য কাঠামোবদ্ধ Ethereum জ্ঞান। আপনার AI এজেন্টকে স্টেট পড়তে, লেনদেন পাঠাতে এবং প্রোটোকলের সাথে সমন্বয় করতে প্রয়োজনীয় প্রসঙ্গ দিন, মডেলের কনটেক্সট উইন্ডো না ছেড়েই।", "page-developers-ethskills-label": "ইথেরিয়ামের জন্য AI এজেন্ট প্রসঙ্গ", + "page-developers-ethskills-msg-1": "আমার কমিউনিটির জন্য একটি কয়েন চালু করো", + "page-developers-ethskills-msg-2": "একটি ফ্যান ক্লাব তৈরি করো যা লোকেরা যোগ দিলে আমাকে টাকা দেয়", + "page-developers-ethskills-msg-3": "আমার শিল্পকে প্রতিবার পুনরায় বিক্রি হলে রয়্যালটি আয় করতে দাও", + "page-developers-ethskills-msg-4": "একটি DAO তৈরি করো এবং আমার ভক্তদের ভোট দিতে দাও আমি কী তৈরি করব", + "page-developers-ethskills-msg-5": "একটি ভল্ট সেট আপ করো যা আমি ঘুমানোর সময় আমার ETH বাড়ায়", + "page-developers-ethskills-title": "এজেন্টদের সাথে onchain তৈরি করুন", "page-developers-evm-desc": "যে কম্পিউটার লেনদেনগুলিকে প্রক্রিয়া করে", "page-developers-evm-link": "ইথেরিয়াম ভার্চুয়াল মেশিন (EVM)", "page-developers-explore-documentation": "নথিপত্র অন্বেষণ করুন", diff --git a/src/intl/cs/page-developers-index.json b/src/intl/cs/page-developers-index.json index a1901066894..ff143b0a854 100644 --- a/src/intl/cs/page-developers-index.json +++ b/src/intl/cs/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "Vývojová prostředí (IDE) vhodná pro vývoj dappek", "page-developers-dev-env-link": "Vývojová prostředí", "page-developers-docs-introductions": "Úvod", + "page-developers-ethskills-cta": "Stavějte s {ethskills}", + "page-developers-ethskills-desc": "Strukturované znalosti o Ethereu pro agentní stack. Dejte svému AI agentovi kontext, který potřebuje ke čtení stavu, odesílání transakcí a koordinaci s protokoly, aniž by opustil kontextové okno modelu.", "page-developers-ethskills-label": "Kontext AI agenta pro Ethereum", + "page-developers-ethskills-msg-1": "spustit minci pro moji komunitu", + "page-developers-ethskills-msg-2": "vytvořit fanouškovský klub, který mi platí, když se lidé přidají", + "page-developers-ethskills-msg-3": "nechat mé umění vydělávat tantiémy při každém dalším prodeji", + "page-developers-ethskills-msg-4": "vytvořit DAO a nechat mé fanoušky hlasovat o tom, co stavím", + "page-developers-ethskills-msg-5": "nastavit trezor, který rozmnožuje mé ETH, zatímco spím", + "page-developers-ethskills-title": "Stavějte onchain s agenty", "page-developers-evm-desc": "Počítač, který zpracovává transakce", "page-developers-evm-link": "Virtuální stroj Etherea (EVM)", "page-developers-explore-documentation": "Prozkoumej dokumentaci.", diff --git a/src/intl/de/page-developers-index.json b/src/intl/de/page-developers-index.json index 849f9a59746..fff739dc1ca 100644 --- a/src/intl/de/page-developers-index.json +++ b/src/intl/de/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDEs, die für DApp-Entwicklung geeignet sind", "page-developers-dev-env-link": "Entwicklungsumgebungen", "page-developers-docs-introductions": "Einführung", + "page-developers-ethskills-cta": "Baue mit {ethskills}", + "page-developers-ethskills-desc": "Strukturiertes Ethereum-Wissen für den agentischen Stack. Gib deinem KI-Agenten den Kontext, den er braucht, um den State zu lesen, Transaktionen zu senden und mit Protokollen zu koordinieren -- ohne das Kontextfenster des Modells zu verlassen.", "page-developers-ethskills-label": "KI-Agenten-Kontext für Ethereum", + "page-developers-ethskills-msg-1": "starte einen Coin für meine Community", + "page-developers-ethskills-msg-2": "baue einen Fanclub, der mich bezahlt, wenn Leute beitreten", + "page-developers-ethskills-msg-3": "lass meine Kunst bei jedem Weiterverkauf Tantiemen verdienen", + "page-developers-ethskills-msg-4": "erstelle eine DAO und lass meine Fans abstimmen, was ich baue", + "page-developers-ethskills-msg-5": "richte einen Vault ein, der meine ETH vermehrt, während ich schlafe", + "page-developers-ethskills-title": "Baue onchain mit Agenten", "page-developers-evm-desc": "Der Computer, der Transaktionen verarbeitet", "page-developers-evm-link": "Die Ethereum Virtual Machine (EVM)", "page-developers-explore-documentation": "Dokumentation erkunden", diff --git a/src/intl/es/page-developers-index.json b/src/intl/es/page-developers-index.json index ce09583e424..f4174141148 100644 --- a/src/intl/es/page-developers-index.json +++ b/src/intl/es/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE apropiados para el desarrollo de DApp", "page-developers-dev-env-link": "Entornos de desarrollo", "page-developers-docs-introductions": "Introducciones", + "page-developers-ethskills-cta": "Construye con {ethskills}", + "page-developers-ethskills-desc": "Conocimiento estructurado de Ethereum para el stack de agentes. Dale a tu agente de IA el contexto que necesita para leer el estado, enviar transacciones y coordinarse con protocolos, sin salir de la ventana de contexto del modelo.", "page-developers-ethskills-label": "Contexto de agente de IA para Ethereum", + "page-developers-ethskills-msg-1": "lanzar una moneda para mi comunidad", + "page-developers-ethskills-msg-2": "crear un club de fans que me pague cuando la gente se una", + "page-developers-ethskills-msg-3": "que mi arte gane regalias cada vez que se revenda", + "page-developers-ethskills-msg-4": "crear una DAO y dejar que mis fans voten sobre lo que construyo", + "page-developers-ethskills-msg-5": "configurar una boveda que haga crecer mis ETH mientras duermo", + "page-developers-ethskills-title": "Construye onchain con agentes", "page-developers-evm-desc": "El ordenador que procesa transacciones", "page-developers-evm-link": "La máquina virtual de Ethereum (EVM)", "page-developers-explore-documentation": "Explorar la documentación", diff --git a/src/intl/fr/page-developers-index.json b/src/intl/fr/page-developers-index.json index 0c0ca01847b..1f6afe82b26 100644 --- a/src/intl/fr/page-developers-index.json +++ b/src/intl/fr/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE adaptés au développement d'appd", "page-developers-dev-env-link": "Environnements de développement", "page-developers-docs-introductions": "Introductions", + "page-developers-ethskills-cta": "Construisez avec {ethskills}", + "page-developers-ethskills-desc": "Des connaissances structurees sur Ethereum pour la pile agentique. Donnez a votre agent IA le contexte dont il a besoin pour lire l'etat, envoyer des transactions et se coordonner avec les protocoles, sans quitter la fenetre de contexte du modele.", "page-developers-ethskills-label": "Contexte d'agent IA pour Ethereum", + "page-developers-ethskills-msg-1": "lancer un token pour ma communaute", + "page-developers-ethskills-msg-2": "creer un fan club qui me paie quand les gens rejoignent", + "page-developers-ethskills-msg-3": "faire gagner des royalties a mon art a chaque revente", + "page-developers-ethskills-msg-4": "creer une DAO et laisser mes fans voter sur ce que je construis", + "page-developers-ethskills-msg-5": "mettre en place un coffre qui fait fructifier mes ETH pendant que je dors", + "page-developers-ethskills-title": "Construisez onchain avec des agents", "page-developers-evm-desc": "L'ordinateur qui traite les transactions", "page-developers-evm-link": "La machine virtuelle Ethereum (EVM)", "page-developers-explore-documentation": "Explorer la documentation", diff --git a/src/intl/hi/page-developers-index.json b/src/intl/hi/page-developers-index.json index 42d084d6125..a7ecf66063d 100644 --- a/src/intl/hi/page-developers-index.json +++ b/src/intl/hi/page-developers-index.json @@ -19,7 +19,15 @@ "page-developers-dev-env-link": "डेवलपमेंट परिवेश", "page-developers-discord": "Discord में शामिल हों", "page-developers-docs-introductions": "परिचय", + "page-developers-ethskills-cta": "{ethskills} के साथ बनाएं", + "page-developers-ethskills-desc": "एजेंटिक स्टैक के लिए संरचित Ethereum ज्ञान। अपने AI एजेंट को स्टेट पढ़ने, ट्रांज़ैक्शन भेजने और प्रोटोकॉल के साथ समन्वय करने के लिए आवश्यक संदर्भ दें, मॉडल की कॉन्टेक्स्ट विंडो को छोड़े बिना।", "page-developers-ethskills-label": "एथेरियम के लिए AI एजेंट संदर्भ", + "page-developers-ethskills-msg-1": "अपनी कम्युनिटी के लिए एक कॉइन लॉन्च करो", + "page-developers-ethskills-msg-2": "एक फैन क्लब बनाओ जो लोगों के जुड़ने पर मुझे पैसे दे", + "page-developers-ethskills-msg-3": "मेरी कला को हर बार रीसेल होने पर रॉयल्टी दिलाओ", + "page-developers-ethskills-msg-4": "एक DAO बनाओ और मेरे फैंस को वोट करने दो कि मैं क्या बनाऊं", + "page-developers-ethskills-msg-5": "एक वॉल्ट सेट करो जो मेरे सोते समय मेरी ETH बढ़ाए", + "page-developers-ethskills-title": "एजेंट्स के साथ onchain बनाएं", "page-developers-evm-desc": "वह कंप्यूटर जो लेनदेन की प्रक्रिया करता है", "page-developers-evm-link": "इथेरियम वर्चुअल मशीन (EVM)", "page-developers-explore-documentation": "प्रलेखन का अन्वेषण करें", diff --git a/src/intl/id/page-developers-index.json b/src/intl/id/page-developers-index.json index 807a8f101c7..d4c34cd1e03 100644 --- a/src/intl/id/page-developers-index.json +++ b/src/intl/id/page-developers-index.json @@ -19,7 +19,15 @@ "page-developers-dev-env-link": "Lingkungan pengembangan", "page-developers-discord": "Bergabung ke Discord", "page-developers-docs-introductions": "Pendahuluan", + "page-developers-ethskills-cta": "Bangun dengan {ethskills}", + "page-developers-ethskills-desc": "Pengetahuan Ethereum terstruktur untuk stack agentik. Berikan agen AI Anda konteks yang dibutuhkan untuk membaca state, mengirim transaksi, dan berkoordinasi dengan protokol, tanpa meninggalkan jendela konteks model.", "page-developers-ethskills-label": "Konteks agen AI untuk Ethereum", + "page-developers-ethskills-msg-1": "luncurkan koin untuk komunitas saya", + "page-developers-ethskills-msg-2": "buat klub penggemar yang membayar saya saat orang bergabung", + "page-developers-ethskills-msg-3": "biarkan karya seni saya mendapatkan royalti setiap kali dijual kembali", + "page-developers-ethskills-msg-4": "buat DAO dan biarkan penggemar saya memilih apa yang saya bangun", + "page-developers-ethskills-msg-5": "siapkan brankas yang menumbuhkan ETH saya saat saya tidur", + "page-developers-ethskills-title": "Bangun onchain dengan agen", "page-developers-evm-desc": "Komputer yang memroses transaksi", "page-developers-evm-link": "Mesin virtual Ethereum (EVM)", "page-developers-explore-documentation": "Jelajahi dokumentasi", diff --git a/src/intl/it/page-developers-index.json b/src/intl/it/page-developers-index.json index bbf9f2bc6d2..d37aac6b749 100644 --- a/src/intl/it/page-developers-index.json +++ b/src/intl/it/page-developers-index.json @@ -19,7 +19,15 @@ "page-developers-dev-env-link": "Ambienti di sviluppo", "page-developers-discord": "Unisciti a Discord", "page-developers-docs-introductions": "Introduzioni", + "page-developers-ethskills-cta": "Costruisci con {ethskills}", + "page-developers-ethskills-desc": "Conoscenza strutturata di Ethereum per lo stack agentico. Dai al tuo agente IA il contesto di cui ha bisogno per leggere lo stato, inviare transazioni e coordinarsi con i protocolli, senza uscire dalla finestra di contesto del modello.", "page-developers-ethskills-label": "Contesto dell'agente AI per Ethereum", + "page-developers-ethskills-msg-1": "lanciare una moneta per la mia community", + "page-developers-ethskills-msg-2": "creare un fan club che mi paga quando la gente si iscrive", + "page-developers-ethskills-msg-3": "far guadagnare royalty alla mia arte ogni volta che viene rivenduta", + "page-developers-ethskills-msg-4": "creare una DAO e lasciare che i miei fan votino su cosa costruisco", + "page-developers-ethskills-msg-5": "impostare un vault che fa crescere i miei ETH mentre dormo", + "page-developers-ethskills-title": "Costruisci onchain con gli agenti", "page-developers-evm-desc": "Il computer che elabora transazioni", "page-developers-evm-link": "La Macchina Virtuale di Ethereum (EVM)", "page-developers-explore-documentation": "Esplora la documentazione", diff --git a/src/intl/ja/page-developers-index.json b/src/intl/ja/page-developers-index.json index 767d626e96d..5548ee02ee0 100644 --- a/src/intl/ja/page-developers-index.json +++ b/src/intl/ja/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "dapp開発に適したIDE", "page-developers-dev-env-link": "開発環境", "page-developers-docs-introductions": "はじめに", + "page-developers-ethskills-cta": "{ethskills}で構築する", + "page-developers-ethskills-desc": "エージェントスタックのための体系化されたEthereumの知識。AIエージェントに、ステートの読み取り、トランザクションの送信、プロトコルとの連携に必要なコンテキストを、モデルのコンテキストウィンドウを離れることなく提供します。", "page-developers-ethskills-label": "イーサリアムのAIエージェントコンテキスト", + "page-developers-ethskills-msg-1": "コミュニティのためにコインを発行する", + "page-developers-ethskills-msg-2": "参加時に報酬がもらえるファンクラブを作る", + "page-developers-ethskills-msg-3": "アートが転売されるたびにロイヤリティを得られるようにする", + "page-developers-ethskills-msg-4": "DAOを作ってファンに何を作るか投票してもらう", + "page-developers-ethskills-msg-5": "寝ている間にETHを増やすボールトを設定する", + "page-developers-ethskills-title": "エージェントと共にonchainで構築する", "page-developers-evm-desc": "トランザクションを処理するコンピュータ", "page-developers-evm-link": "イーサリアム仮想マシン(EVM)", "page-developers-explore-documentation": "ドキュメントを探す", diff --git a/src/intl/ko/page-developers-index.json b/src/intl/ko/page-developers-index.json index bf3fee9fde4..2cdf0040c4e 100644 --- a/src/intl/ko/page-developers-index.json +++ b/src/intl/ko/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "디앱 개발에 적합한 IDE", "page-developers-dev-env-link": "개발 환경", "page-developers-docs-introductions": "소개", + "page-developers-ethskills-cta": "{ethskills}로 구축하기", + "page-developers-ethskills-desc": "에이전트 스택을 위한 구조화된 이더리움 지식. AI 에이전트에게 상태를 읽고, 트랜잭션을 보내고, 프로토콜과 조율하는 데 필요한 컨텍스트를 제공하세요. 모델의 컨텍스트 윈도우를 벗어나지 않고도 가능합니다.", "page-developers-ethskills-label": "이더리움을 위한 AI 에이전트 컨텍스트", + "page-developers-ethskills-msg-1": "내 커뮤니티를 위한 코인 출시하기", + "page-developers-ethskills-msg-2": "사람들이 가입하면 수익이 생기는 팬클럽 만들기", + "page-developers-ethskills-msg-3": "내 작품이 재판매될 때마다 로열티 받기", + "page-developers-ethskills-msg-4": "DAO를 만들어 팬들이 내가 만들 것을 투표하게 하기", + "page-developers-ethskills-msg-5": "자는 동안 ETH를 불려주는 볼트 설정하기", + "page-developers-ethskills-title": "에이전트와 함께 onchain으로 구축하기", "page-developers-evm-desc": "거래를 처리하는 컴퓨터", "page-developers-evm-link": "이더리움 가상머신(EVM; Ethereum Virtual Machine)", "page-developers-explore-documentation": "문서 탐색하기", diff --git a/src/intl/mr/page-developers-index.json b/src/intl/mr/page-developers-index.json index 54b303bddcf..79221100aea 100644 --- a/src/intl/mr/page-developers-index.json +++ b/src/intl/mr/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "dapp विकासासाठी योग्य असलेले IDE", "page-developers-dev-env-link": "डेव्हलपमेंट एन्व्हायर्नमेंट", "page-developers-docs-introductions": "परिचय", + "page-developers-ethskills-cta": "{ethskills} सह तयार करा", + "page-developers-ethskills-desc": "एजेंटिक स्टॅकसाठी संरचित Ethereum ज्ञान। तुमच्या AI एजंटला स्टेट वाचण्यासाठी, व्यवहार पाठवण्यासाठी आणि प्रोटोकॉलशी समन्वय साधण्यासाठी आवश्यक संदर्भ द्या, मॉडेलच्या कॉन्टेक्स्ट विंडोच्या बाहेर न जाता.", "page-developers-ethskills-label": "इथेरियमसाठी AI एजंट संदर्भ", + "page-developers-ethskills-msg-1": "माझ्या समुदायासाठी एक कॉइन लॉन्च करा", + "page-developers-ethskills-msg-2": "एक फॅन क्लब तयार करा जो लोक सामील झाल्यावर मला पैसे देतो", + "page-developers-ethskills-msg-3": "माझी कला प्रत्येक वेळी पुन्हा विकली गेल्यावर रॉयल्टी मिळवू दे", + "page-developers-ethskills-msg-4": "एक DAO तयार करा आणि माझ्या चाहत्यांना मी काय बनवतो यावर मतदान करू द्या", + "page-developers-ethskills-msg-5": "एक वॉल्ट सेट करा जो मी झोपेत असताना माझी ETH वाढवतो", + "page-developers-ethskills-title": "एजंट्ससह onchain तयार करा", "page-developers-evm-desc": "व्यवहारांवर प्रक्रिया करणारा संगणक", "page-developers-evm-link": "Ethereum व्हर्च्युअल मशीन (EVM)", "page-developers-explore-documentation": "दस्तऐवजीकरण एक्सप्लोर करा", diff --git a/src/intl/pl/page-developers-index.json b/src/intl/pl/page-developers-index.json index b9ee3e95d8b..50535259898 100644 --- a/src/intl/pl/page-developers-index.json +++ b/src/intl/pl/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE, które nadają się do tworzenia dapp", "page-developers-dev-env-link": "Środowiska programistyczne", "page-developers-docs-introductions": "Wprowadzenie", + "page-developers-ethskills-cta": "Buduj z {ethskills}", + "page-developers-ethskills-desc": "Ustrukturyzowana wiedza o Ethereum dla stosu agentowego. Daj swojemu agentowi AI kontekst potrzebny do odczytu stanu, wysyłania transakcji i koordynacji z protokołami, bez opuszczania okna kontekstu modelu.", "page-developers-ethskills-label": "Kontekst agenta AI dla Ethereum", + "page-developers-ethskills-msg-1": "uruchom monetę dla mojej społeczności", + "page-developers-ethskills-msg-2": "stwórz klub fanów, który płaci mi, gdy ludzie dołączają", + "page-developers-ethskills-msg-3": "niech moja sztuka zarabia tantiemy przy każdej odsprzedaży", + "page-developers-ethskills-msg-4": "stwórz DAO i pozwól moim fanom głosować nad tym, co tworzę", + "page-developers-ethskills-msg-5": "ustaw skarbiec, który pomnaża moje ETH, gdy śpię", + "page-developers-ethskills-title": "Buduj onchain z agentami", "page-developers-evm-desc": "Maszyna, która przetwarza transakcje", "page-developers-evm-link": "Maszyna wirtualna Ethereum (EVM)", "page-developers-explore-documentation": "Przejrzyj dokumentację", diff --git a/src/intl/pt-br/page-developers-index.json b/src/intl/pt-br/page-developers-index.json index cbb9595c61a..cb79ea47088 100644 --- a/src/intl/pt-br/page-developers-index.json +++ b/src/intl/pt-br/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDEs adequados para desenvolvimento dapp", "page-developers-dev-env-link": "Ambientes de desenvolvimento", "page-developers-docs-introductions": "Introduções", + "page-developers-ethskills-cta": "Construa com {ethskills}", + "page-developers-ethskills-desc": "Conhecimento estruturado sobre Ethereum para a stack de agentes. Dê ao seu agente de IA o contexto necessário para ler o estado, enviar transações e se coordenar com protocolos, sem sair da janela de contexto do modelo.", "page-developers-ethskills-label": "Contexto de agente de IA para Ethereum", + "page-developers-ethskills-msg-1": "lançar uma moeda para minha comunidade", + "page-developers-ethskills-msg-2": "criar um fã-clube que me paga quando as pessoas entram", + "page-developers-ethskills-msg-3": "fazer minha arte ganhar royalties toda vez que for revendida", + "page-developers-ethskills-msg-4": "criar uma DAO e deixar meus fãs votarem no que eu construo", + "page-developers-ethskills-msg-5": "configurar um cofre que faz meus ETH crescerem enquanto eu durmo", + "page-developers-ethskills-title": "Construa onchain com agentes", "page-developers-evm-desc": "O computador que processa transações", "page-developers-evm-link": "A máquina virtual do Ethereum (EVM)", "page-developers-explore-documentation": "Veja a documentação", diff --git a/src/intl/ru/page-developers-index.json b/src/intl/ru/page-developers-index.json index 7e2a4df5216..ae9c576e2eb 100644 --- a/src/intl/ru/page-developers-index.json +++ b/src/intl/ru/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE, подходящие для разработки dapp", "page-developers-dev-env-link": "Среды разработки", "page-developers-docs-introductions": "Введения", + "page-developers-ethskills-cta": "Создавайте с {ethskills}", + "page-developers-ethskills-desc": "Структурированные знания об Ethereum для агентного стека. Дайте вашему ИИ-агенту контекст, необходимый для чтения состояния, отправки транзакций и координации с протоколами, не покидая контекстного окна модели.", "page-developers-ethskills-label": "Контекст ИИ-агента для Ethereum", + "page-developers-ethskills-msg-1": "запустить монету для моего сообщества", + "page-developers-ethskills-msg-2": "создать фан-клуб, который платит мне, когда люди вступают", + "page-developers-ethskills-msg-3": "пусть мое искусство приносит роялти при каждой перепродаже", + "page-developers-ethskills-msg-4": "создать DAO и дать моим фанатам голосовать за то, что я создаю", + "page-developers-ethskills-msg-5": "настроить хранилище, которое наращивает мои ETH, пока я сплю", + "page-developers-ethskills-title": "Создавайте onchain с агентами", "page-developers-evm-desc": "Компьютер, который обрабатывает транзакции", "page-developers-evm-link": "Виртуальная машина Ethereum (EVM)", "page-developers-explore-documentation": "Изучить документацию", diff --git a/src/intl/sw/page-developers-index.json b/src/intl/sw/page-developers-index.json index a4d5b89e355..6c52d8d5aa0 100644 --- a/src/intl/sw/page-developers-index.json +++ b/src/intl/sw/page-developers-index.json @@ -19,7 +19,15 @@ "page-developers-dev-env-link": "Mazingira ya maendeleo", "page-developers-discord": "Jiunge Discord", "page-developers-docs-introductions": "Utangulizi", + "page-developers-ethskills-cta": "Jenga na {ethskills}", + "page-developers-ethskills-desc": "Maarifa ya Ethereum yaliyopangwa kwa ajili ya mkusanyiko wa mawakala. Mpe wakala wako wa AI muktadha unaohitajika kusoma hali, kutuma miamala, na kuratibu na itifaki, bila kuondoka kwenye dirisha la muktadha wa modeli.", "page-developers-ethskills-label": "Muktadha wa wakala wa AI kwa Ethereum", + "page-developers-ethskills-msg-1": "anzisha sarafu kwa ajili ya jamii yangu", + "page-developers-ethskills-msg-2": "tengeneza klabu ya mashabiki inayonilipa watu wanapojiunga", + "page-developers-ethskills-msg-3": "acha sanaa yangu ipate mrabaha kila inapouzwa tena", + "page-developers-ethskills-msg-4": "tengeneza DAO na uache mashabiki wangu wapigie kura ninachojenga", + "page-developers-ethskills-msg-5": "weka hazina inayokuza ETH yangu ninapokuwa nimelala", + "page-developers-ethskills-title": "Jenga onchain na mawakala", "page-developers-evm-desc": "Tarakilishi inayoshughulikia mapatano", "page-developers-evm-link": "Mashine Dhahiri ya Ethereum(MDE)", "page-developers-explore-documentation": "Chunguza nyaraka", diff --git a/src/intl/ta/page-developers-index.json b/src/intl/ta/page-developers-index.json index 33e7c5c6113..ec7f0223be2 100644 --- a/src/intl/ta/page-developers-index.json +++ b/src/intl/ta/page-developers-index.json @@ -12,7 +12,15 @@ "page-developers-dev-env-desc": "டப் மேம்பாட்டிற்கு ஏற்ற IDEகள்", "page-developers-dev-env-link": "வளர்ச்சி சூழல்கள்", "page-developers-docs-introductions": "அறிமுகங்கள்", + "page-developers-ethskills-cta": "{ethskills} மூலம் உருவாக்குங்கள்", + "page-developers-ethskills-desc": "ஏஜென்டிக் ஸ்டேக்கிற்கான கட்டமைக்கப்பட்ட Ethereum அறிவு. உங்கள் AI ஏஜென்டுக்கு நிலையைப் படிக்கவும், பரிவர்த்தனைகளை அனுப்பவும், நெறிமுறைகளுடன் ஒருங்கிணைக்கவும் தேவையான சூழலை வழங்குங்கள், மாடலின் சூழல் சாளரத்தை விட்டு வெளியேறாமல்.", "page-developers-ethskills-label": "எத்தேரியத்திற்கான AI முகவர் சூழல்", + "page-developers-ethskills-msg-1": "என் சமூகத்திற்காக ஒரு காயின் தொடங்கு", + "page-developers-ethskills-msg-2": "மக்கள் சேரும்போது எனக்கு பணம் தரும் ரசிகர் மன்றம் உருவாக்கு", + "page-developers-ethskills-msg-3": "என் கலை மறுவிற்பனை ஆகும் ஒவ்வொரு முறையும் ராயல்டி சம்பாதிக்கட்டும்", + "page-developers-ethskills-msg-4": "ஒரு DAO உருவாக்கி என் ரசிகர்கள் நான் என்ன உருவாக்குவது என்று வாக்களிக்கட்டும்", + "page-developers-ethskills-msg-5": "நான் தூங்கும்போது என் ETH ஐ வளர்க்கும் வால்ட் அமைக்கு", + "page-developers-ethskills-title": "ஏஜென்ட்களுடன் onchain உருவாக்குங்கள்", "page-developers-evm-desc": "பரிவர்த்தனைகளைச் செயல்படுத்தும் கணினி", "page-developers-evm-link": "எத்தீரியம் மெய்நிகர் இயந்திரம் (EVM)", "page-developers-explore-documentation": "ஆவணங்களை ஆராயுங்கள்", diff --git a/src/intl/te/page-developers-index.json b/src/intl/te/page-developers-index.json index c0dcdd21360..8f12aa5c6e8 100644 --- a/src/intl/te/page-developers-index.json +++ b/src/intl/te/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE లు డాప్స్ డెవలప్మెంట్ కి సహాయం పడతాయి", "page-developers-dev-env-link": "డెవలప్మెంట్ వాతావరణం", "page-developers-docs-introductions": "పరిచయం", + "page-developers-ethskills-cta": "{ethskills} తో నిర్మించండి", + "page-developers-ethskills-desc": "ఏజెంటిక్ స్టాక్ కోసం నిర్మాణాత్మక Ethereum జ్ఞానం. మీ AI ఏజెంట్‌కు స్టేట్ చదవడానికి, లావాదేవీలు పంపడానికి మరియు ప్రోటోకాల్‌లతో సమన్వయం చేయడానికి అవసరమైన సందర్భాన్ని అందించండి, మోడల్ యొక్క కాంటెక్స్ట్ విండో నుండి బయటకు వెళ్ళకుండా.", "page-developers-ethskills-label": "ఇథీరియం కోసం AI ఏజెంట్ సందర్భం", + "page-developers-ethskills-msg-1": "నా కమ్యూనిటీ కోసం ఒక కాయిన్ లాంచ్ చేయి", + "page-developers-ethskills-msg-2": "ప్రజలు చేరినప్పుడు నాకు డబ్బు ఇచ్చే ఫ్యాన్ క్లబ్ తయారు చేయి", + "page-developers-ethskills-msg-3": "నా కళ ప్రతిసారి రీసెల్ అయినప్పుడు రాయల్టీలు సంపాదించనివ్వు", + "page-developers-ethskills-msg-4": "ఒక DAO తయారు చేసి నా అభిమానులు నేను ఏమి నిర్మిస్తానో ఓటు వేయనివ్వు", + "page-developers-ethskills-msg-5": "నేను నిద్రపోతున్నప్పుడు నా ETH ని పెంచే వాల్ట్ సెటప్ చేయి", + "page-developers-ethskills-title": "ఏజెంట్లతో onchain నిర్మించండి", "page-developers-evm-desc": "ట్రాన్సక్షన్స్ ని ప్రాసెస్ చేసే కంప్యూటర్", "page-developers-evm-link": "ఇతిరియం వర్చ్యువల్ మెషిన్(ఈవీఎం)", "page-developers-explore-documentation": "డాక్యుమెంటేషన్ ని అన్వేషించండి", diff --git a/src/intl/tr/page-developers-index.json b/src/intl/tr/page-developers-index.json index 1c45fa6c7cb..724a699865b 100644 --- a/src/intl/tr/page-developers-index.json +++ b/src/intl/tr/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE'ler dapp geliştirme için uygundur", "page-developers-dev-env-link": "Geliştirme ortamları", "page-developers-docs-introductions": "Girişler", + "page-developers-ethskills-cta": "{ethskills} ile inşa edin", + "page-developers-ethskills-desc": "Ajansal yığın için yapılandırılmış Ethereum bilgisi. Yapay zeka ajanınıza durumu okumak, işlem göndermek ve protokollerle koordine olmak için ihtiyaç duyduğu bağlamı verin, modelin bağlam penceresinden ayrılmadan.", "page-developers-ethskills-label": "Ethereum için yapay zeka ajanı bağlamı", + "page-developers-ethskills-msg-1": "topluluğum için bir coin başlat", + "page-developers-ethskills-msg-2": "insanlar katıldığında bana ödeme yapan bir hayran kulübü oluştur", + "page-developers-ethskills-msg-3": "sanatımın her yeniden satışta telif kazanmasını sağla", + "page-developers-ethskills-msg-4": "bir DAO oluştur ve hayranlarımın ne inşa edeceğime oy vermesini sağla", + "page-developers-ethskills-msg-5": "ben uyurken ETH'mi büyüten bir kasa kur", + "page-developers-ethskills-title": "Ajanlarla onchain inşa edin", "page-developers-evm-desc": "İşlemleri yapan bilgisayar", "page-developers-evm-link": "Ethereum Sanal Makinesi (EVM)", "page-developers-explore-documentation": "Belgeyi görüntüle", @@ -22,11 +30,11 @@ "page-developers-gas-link": "Gaz", "page-developers-get-started": "Bugün ne yapmak istersiniz?", "page-developers-into-eth-desc": "Blok zinciri ve Ethereum'a giriş", - "page-developers-intro-ether-desc": "Kripto para ve Ether’e giriş", + "page-developers-intro-ether-desc": "Kripto para ve Ether'e giriş", "page-developers-intro-dapps-desc": "Merkeziyetsiz uygulamalara giriş", "page-developers-intro-dapps-link": "Dapps'a giriş", "page-developers-intro-eth-link": "Ethereum'a giriş", - "page-developers-intro-ether-link": "Ether’e giriş", + "page-developers-intro-ether-link": "Ether'e giriş", "page-developers-intro-stack": "Yığına giriş", "page-developers-intro-stack-desc": "Ethereum yığınına giriş", "page-developers-js-libraries-desc": "Akıllı sözleşmelerle etkileşim kurmak için JavaScript kullanımı", @@ -90,7 +98,7 @@ "page-developers-tutorials-desc": "Ethereum geliştirmeyi zaten gerçekleştirmiş uygulayıcılardan adım adım öğrenin.", "page-developers-video-courses-title": "Videolu kurslar", "page-developers-video-courses-desc": "Profesyonel blokzincir kariyerine hızlı bir başlangıç mı yapmak istiyorsun? Bu eğitimler, blokzincir geliştiricisi olarak işe alınman için seni hazırlayacak.", - "page-developers-docs-section-desc": "Ethereum’un ve blokzincirlerin temel kavramlarını anla", + "page-developers-docs-section-desc": "Ethereum'un ve blokzincirlerin temel kavramlarını anla", "page-developers-hackathons-title": "Hackathon'lara katıl", "page-developers-hackathons-desc": "Hackathonlar, hem başkalarıyla bağlantı kurmak ve onlardan öğrenmek hem de projeler başlatıp ödüller kazanmak için harika fırsatlardır", "page-developers-visit-ethglobal": "EthGlobal'ı ziyaret edin", diff --git a/src/intl/uk/page-developers-index.json b/src/intl/uk/page-developers-index.json index 989c990a147..5b3692da72a 100644 --- a/src/intl/uk/page-developers-index.json +++ b/src/intl/uk/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "Інтегровані середовища, які підходять для розробки децентралізованих програм", "page-developers-dev-env-link": "Середовища розробки", "page-developers-docs-introductions": "Вступ", + "page-developers-ethskills-cta": "Створюйте з {ethskills}", + "page-developers-ethskills-desc": "Структуровані знання про Ethereum для агентного стеку. Надайте вашому ШІ-агенту контекст, необхідний для читання стану, надсилання транзакцій та координації з протоколами, не виходячи з контекстного вікна моделі.", "page-developers-ethskills-label": "Контекст ШІ-агента для Ethereum", + "page-developers-ethskills-msg-1": "запустити монету для моєї спільноти", + "page-developers-ethskills-msg-2": "створити фан-клуб, який платить мені, коли люди приєднуються", + "page-developers-ethskills-msg-3": "нехай моє мистецтво заробляє роялті при кожному перепродажу", + "page-developers-ethskills-msg-4": "створити DAO і дати моїм фанатам голосувати за те, що я створюю", + "page-developers-ethskills-msg-5": "налаштувати сховище, яке нарощує мої ETH, поки я сплю", + "page-developers-ethskills-title": "Створюйте onchain з агентами", "page-developers-evm-desc": "Комп'ютер, який обробляє операції", "page-developers-evm-link": "Віртуальна машина Ethereum (EVM)", "page-developers-explore-documentation": "Переглянути документацію", diff --git a/src/intl/ur/page-developers-index.json b/src/intl/ur/page-developers-index.json index 8d49f83b80a..6be64094517 100644 --- a/src/intl/ur/page-developers-index.json +++ b/src/intl/ur/page-developers-index.json @@ -12,7 +12,15 @@ "page-developers-dev-env-desc": "IDEs جو dapp ڈیولپمنٹ کے لیے موزوں ہیں", "page-developers-dev-env-link": "ڈیولپمنٹ کے ماحول", "page-developers-docs-introductions": "تعارف", + "page-developers-ethskills-cta": "{ethskills} کے ساتھ بنائیں", + "page-developers-ethskills-desc": "ایجنٹک اسٹیک کے لیے منظم ایتھیریم علم۔ اپنے AI ایجنٹ کو وہ سیاق و سباق دیں جس کی اسے حالت پڑھنے، لین دین بھیجنے، اور پروٹوکولز کے ساتھ ہم آہنگی کے لیے ضرورت ہے، ماڈل کی سیاق و سباق ونڈو سے باہر نکلے بغیر۔", "page-developers-ethskills-label": "ایتھیریم کے لیے AI ایجنٹ سیاق و سباق", + "page-developers-ethskills-msg-1": "میری کمیونٹی کے لیے ایک کوائن لانچ کرو", + "page-developers-ethskills-msg-2": "ایک فین کلب بناؤ جو لوگوں کے شامل ہونے پر مجھے ادائیگی کرے", + "page-developers-ethskills-msg-3": "میرے فن کو ہر بار دوبارہ فروخت ہونے پر رائلٹی کمانے دو", + "page-developers-ethskills-msg-4": "ایک DAO بناؤ اور میرے مداحوں کو ووٹ دینے دو کہ میں کیا بناؤں", + "page-developers-ethskills-msg-5": "ایک والٹ سیٹ اپ کرو جو میرے سوتے وقت میری ETH بڑھائے", + "page-developers-ethskills-title": "ایجنٹس کے ساتھ onchain بنائیں", "page-developers-evm-desc": "وہ کمپیوٹر جو لین دین پر کارروائی کرتا ہے", "page-developers-evm-link": "ایتھیریم ورچوئل مشین (EVM)", "page-developers-explore-documentation": "ڈاکومنٹیشن کو دریافت کریں", diff --git a/src/intl/vi/page-developers-index.json b/src/intl/vi/page-developers-index.json index 093aff4be56..d20d137def2 100644 --- a/src/intl/vi/page-developers-index.json +++ b/src/intl/vi/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "IDE phù hợp cho việc phát triển ứng dụng phi tập trung", "page-developers-dev-env-link": "Môi trường phát triển", "page-developers-docs-introductions": "Giới thiệu", + "page-developers-ethskills-cta": "Xây dựng với {ethskills}", + "page-developers-ethskills-desc": "Kiến thức Ethereum có cấu trúc cho ngăn xếp tác tử. Cung cấp cho tác tử AI của bạn ngữ cảnh cần thiết để đọc trạng thái, gửi giao dịch và phối hợp với các giao thức, mà không cần rời khỏi cửa sổ ngữ cảnh của mô hình.", "page-developers-ethskills-label": "Ngữ cảnh tác tử AI cho Ethereum", + "page-developers-ethskills-msg-1": "ra mắt một đồng coin cho cộng đồng của tôi", + "page-developers-ethskills-msg-2": "tạo một câu lạc bộ fan trả tiền cho tôi khi mọi người tham gia", + "page-developers-ethskills-msg-3": "để tác phẩm nghệ thuật của tôi kiếm tiền bản quyền mỗi lần được bán lại", + "page-developers-ethskills-msg-4": "tạo một DAO và để fan bình chọn những gì tôi xây dựng", + "page-developers-ethskills-msg-5": "thiết lập một kho bạc giúp ETH của tôi tăng trưởng khi tôi ngủ", + "page-developers-ethskills-title": "Xây dựng onchain với các tác tử", "page-developers-evm-desc": "Máy tính xử lý các giao dịch", "page-developers-evm-link": "Máy ảo Ethereum (EVM)", "page-developers-explore-documentation": "Khám phá tài liệu tham khảo", diff --git a/src/intl/zh-tw/page-developers-index.json b/src/intl/zh-tw/page-developers-index.json index cb335168cfc..a09cdb2111f 100644 --- a/src/intl/zh-tw/page-developers-index.json +++ b/src/intl/zh-tw/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "適合去中心化應用程式開發的整合開發環境", "page-developers-dev-env-link": "開發環境", "page-developers-docs-introductions": "簡介", + "page-developers-ethskills-cta": "使用 {ethskills} 建構", + "page-developers-ethskills-desc": "為代理堆疊提供結構化的以太坊知識。為你的 AI 代理提供讀取狀態、傳送交易和協調協議所需的上下文,無需離開模型的上下文視窗。", "page-developers-ethskills-label": "以太坊的AI代理上下文", + "page-developers-ethskills-msg-1": "為我的社群發行一個代幣", + "page-developers-ethskills-msg-2": "建立一個粉絲加入就能賺錢的俱樂部", + "page-developers-ethskills-msg-3": "讓我的藝術品每次轉售都能賺取版稅", + "page-developers-ethskills-msg-4": "建立一個 DAO 讓粉絲投票決定我做什麼", + "page-developers-ethskills-msg-5": "設置一個在我睡覺時讓 ETH 增長的金庫", + "page-developers-ethskills-title": "與代理一起 onchain 建構", "page-developers-evm-desc": "處理異動的電腦", "page-developers-evm-link": "Ethereum 虛擬機器 (EVM)", "page-developers-explore-documentation": "探索文件", diff --git a/src/intl/zh/page-developers-index.json b/src/intl/zh/page-developers-index.json index 6acfdd0e4ca..83bc338f18f 100644 --- a/src/intl/zh/page-developers-index.json +++ b/src/intl/zh/page-developers-index.json @@ -11,7 +11,15 @@ "page-developers-dev-env-desc": "适合去中心化应用程序开发的集成开发环境", "page-developers-dev-env-link": "开发环境", "page-developers-docs-introductions": "介绍", + "page-developers-ethskills-cta": "使用 {ethskills} 构建", + "page-developers-ethskills-desc": "为代理堆栈提供结构化的以太坊知识。为你的 AI 代理提供读取状态、发送交易和协调协议所需的上下文,无需离开模型的上下文窗口。", "page-developers-ethskills-label": "以太坊的AI代理上下文", + "page-developers-ethskills-msg-1": "为我的社区发行一个代币", + "page-developers-ethskills-msg-2": "建一个粉丝加入就能赚钱的俱乐部", + "page-developers-ethskills-msg-3": "让我的艺术品每次转售都能赚取版税", + "page-developers-ethskills-msg-4": "创建一个 DAO 让粉丝投票决定我做什么", + "page-developers-ethskills-msg-5": "设置一个在我睡觉时让 ETH 增长的金库", + "page-developers-ethskills-title": "与代理一起 onchain 构建", "page-developers-evm-desc": "处理交易的计算机", "page-developers-evm-link": "以太访虚拟机 (EVM)", "page-developers-explore-documentation": "浏览相关文档", From 2533b205e889211fb629a7f362780f04573607f6 Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 20:41:17 +0000 Subject: [PATCH 09/17] fix: use i18n strings in typewriter story Use useTranslations in Storybook story so locale dropdown drives terminal messages. Remove hardcoded RTL and ShortMessages examples. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../TerminalTypewriter.stories.tsx | 47 +++++++------------ 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx index 67ef7367bc7..f3479a9525c 100644 --- a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx +++ b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx @@ -1,3 +1,4 @@ +import { useTranslations } from "next-intl" import { Meta, StoryObj } from "@storybook/react" import { TerminalTypewriter } from "../terminal-typewriter" @@ -18,37 +19,21 @@ export default meta type Story = StoryObj -export const Default: Story = { - args: { - messages: [ - "launch a coin for my community", - "build a fan club that pays me when people join", - "let my art earn royalties every time it resells", - "create a DAO and let my fans vote on what I build", - "set up a vault that grows my ETH while I sleep", - ], - }, -} - -export const ShortMessages: Story = { - args: { - messages: ["deploy contract", "verify on etherscan", "run tests"], - }, +const EthSkillsTerminal = () => { + const t = useTranslations("page-developers-index") + return ( + + ) } -export const RTL: Story = { - decorators: [ - (Story) => ( -
- -
- ), - ], - args: { - messages: [ - "إطلاق عملة لمجتمعي", - "بناء نادي معجبين يدفع لي عند انضمام الأعضاء", - "جعل فني يكسب عوائد في كل مرة يعاد بيعه", - ], - }, +export const Default: Story = { + render: () => , } From 6f3c9b7ce8f66b04909cca25ee726a4cfc40ca1f Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 21:20:21 +0000 Subject: [PATCH 10/17] fix: ASCII art RTL + approved onchain terms Add dir="ltr" to ASCII art banner to prevent RTL flip. Replace literal "onchain" in ethskills-title with approved glossary translations for each locale. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- app/[locale]/developers/page.tsx | 1 + src/intl/ar/page-developers-index.json | 2 +- src/intl/bn/page-developers-index.json | 2 +- src/intl/cs/page-developers-index.json | 2 +- src/intl/es/page-developers-index.json | 2 +- src/intl/fr/page-developers-index.json | 2 +- src/intl/hi/page-developers-index.json | 2 +- src/intl/ja/page-developers-index.json | 2 +- src/intl/ko/page-developers-index.json | 2 +- src/intl/mr/page-developers-index.json | 2 +- src/intl/pl/page-developers-index.json | 2 +- src/intl/pt-br/page-developers-index.json | 2 +- src/intl/ru/page-developers-index.json | 2 +- src/intl/ta/page-developers-index.json | 2 +- src/intl/te/page-developers-index.json | 2 +- src/intl/tr/page-developers-index.json | 2 +- src/intl/uk/page-developers-index.json | 2 +- src/intl/ur/page-developers-index.json | 2 +- src/intl/vi/page-developers-index.json | 2 +- src/intl/zh-tw/page-developers-index.json | 2 +- src/intl/zh/page-developers-index.json | 2 +- 21 files changed, 21 insertions(+), 20 deletions(-) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index dc4f82d6ca5..eba417bbe5f 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -226,6 +226,7 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => {
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
diff --git a/src/intl/ar/page-developers-index.json b/src/intl/ar/page-developers-index.json
index dcbc69f53b0..ca05e601ad7 100644
--- a/src/intl/ar/page-developers-index.json
+++ b/src/intl/ar/page-developers-index.json
@@ -27,7 +27,7 @@
   "page-developers-ethskills-msg-3": "اجعل فني يكسب عوائد في كل مرة يُعاد بيعه",
   "page-developers-ethskills-msg-4": "أنشئ DAO ودع معجبيّ يصوتون على ما أبنيه",
   "page-developers-ethskills-msg-5": "أعدّ خزنة تنمّي ETH الخاص بي وأنا نائم",
-  "page-developers-ethskills-title": "ابنِ onchain مع الوكلاء",
+  "page-developers-ethskills-title": "ابنِ على السلسلة مع الوكلاء",
   "page-developers-evm-desc": "الكمبيوتر الذي يعالج المعاملات",
   "page-developers-evm-link": "جهاز إثيريوم الظاهري (EVM)",
   "page-developers-explore-documentation": "استكشاف الوثائق",
diff --git a/src/intl/bn/page-developers-index.json b/src/intl/bn/page-developers-index.json
index a77c2eeb2ef..ab044f1be05 100644
--- a/src/intl/bn/page-developers-index.json
+++ b/src/intl/bn/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "আমার শিল্পকে প্রতিবার পুনরায় বিক্রি হলে রয়্যালটি আয় করতে দাও",
   "page-developers-ethskills-msg-4": "একটি DAO তৈরি করো এবং আমার ভক্তদের ভোট দিতে দাও আমি কী তৈরি করব",
   "page-developers-ethskills-msg-5": "একটি ভল্ট সেট আপ করো যা আমি ঘুমানোর সময় আমার ETH বাড়ায়",
-  "page-developers-ethskills-title": "এজেন্টদের সাথে onchain তৈরি করুন",
+  "page-developers-ethskills-title": "এজেন্টদের সাথে অনচেইন তৈরি করুন",
   "page-developers-evm-desc": "যে কম্পিউটার লেনদেনগুলিকে প্রক্রিয়া করে",
   "page-developers-evm-link": "ইথেরিয়াম ভার্চুয়াল মেশিন (EVM)",
   "page-developers-explore-documentation": "নথিপত্র অন্বেষণ করুন",
diff --git a/src/intl/cs/page-developers-index.json b/src/intl/cs/page-developers-index.json
index ff143b0a854..fd1d9c831d6 100644
--- a/src/intl/cs/page-developers-index.json
+++ b/src/intl/cs/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "nechat mé umění vydělávat tantiémy při každém dalším prodeji",
   "page-developers-ethskills-msg-4": "vytvořit DAO a nechat mé fanoušky hlasovat o tom, co stavím",
   "page-developers-ethskills-msg-5": "nastavit trezor, který rozmnožuje mé ETH, zatímco spím",
-  "page-developers-ethskills-title": "Stavějte onchain s agenty",
+  "page-developers-ethskills-title": "Stavějte na blockchainu s agenty",
   "page-developers-evm-desc": "Počítač, který zpracovává transakce",
   "page-developers-evm-link": "Virtuální stroj Etherea (EVM)",
   "page-developers-explore-documentation": "Prozkoumej dokumentaci.",
diff --git a/src/intl/es/page-developers-index.json b/src/intl/es/page-developers-index.json
index f4174141148..27f55719019 100644
--- a/src/intl/es/page-developers-index.json
+++ b/src/intl/es/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "que mi arte gane regalias cada vez que se revenda",
   "page-developers-ethskills-msg-4": "crear una DAO y dejar que mis fans voten sobre lo que construyo",
   "page-developers-ethskills-msg-5": "configurar una boveda que haga crecer mis ETH mientras duermo",
-  "page-developers-ethskills-title": "Construye onchain con agentes",
+  "page-developers-ethskills-title": "Construye en cadena con agentes",
   "page-developers-evm-desc": "El ordenador que procesa transacciones",
   "page-developers-evm-link": "La máquina virtual de Ethereum (EVM)",
   "page-developers-explore-documentation": "Explorar la documentación",
diff --git a/src/intl/fr/page-developers-index.json b/src/intl/fr/page-developers-index.json
index 1f6afe82b26..6c3853e33e4 100644
--- a/src/intl/fr/page-developers-index.json
+++ b/src/intl/fr/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "faire gagner des royalties a mon art a chaque revente",
   "page-developers-ethskills-msg-4": "creer une DAO et laisser mes fans voter sur ce que je construis",
   "page-developers-ethskills-msg-5": "mettre en place un coffre qui fait fructifier mes ETH pendant que je dors",
-  "page-developers-ethskills-title": "Construisez onchain avec des agents",
+  "page-developers-ethskills-title": "Construisez en chaîne avec des agents",
   "page-developers-evm-desc": "L'ordinateur qui traite les transactions",
   "page-developers-evm-link": "La machine virtuelle Ethereum (EVM)",
   "page-developers-explore-documentation": "Explorer la documentation",
diff --git a/src/intl/hi/page-developers-index.json b/src/intl/hi/page-developers-index.json
index a7ecf66063d..3ba526a274d 100644
--- a/src/intl/hi/page-developers-index.json
+++ b/src/intl/hi/page-developers-index.json
@@ -27,7 +27,7 @@
   "page-developers-ethskills-msg-3": "मेरी कला को हर बार रीसेल होने पर रॉयल्टी दिलाओ",
   "page-developers-ethskills-msg-4": "एक DAO बनाओ और मेरे फैंस को वोट करने दो कि मैं क्या बनाऊं",
   "page-developers-ethskills-msg-5": "एक वॉल्ट सेट करो जो मेरे सोते समय मेरी ETH बढ़ाए",
-  "page-developers-ethskills-title": "एजेंट्स के साथ onchain बनाएं",
+  "page-developers-ethskills-title": "एजेंट्स के साथ ऑन-चेन बनाएं",
   "page-developers-evm-desc": "वह कंप्यूटर जो लेनदेन की प्रक्रिया करता है",
   "page-developers-evm-link": "इथेरियम वर्चुअल मशीन (EVM)",
   "page-developers-explore-documentation": "प्रलेखन का अन्वेषण करें",
diff --git a/src/intl/ja/page-developers-index.json b/src/intl/ja/page-developers-index.json
index 5548ee02ee0..1b17f0f8d9c 100644
--- a/src/intl/ja/page-developers-index.json
+++ b/src/intl/ja/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "アートが転売されるたびにロイヤリティを得られるようにする",
   "page-developers-ethskills-msg-4": "DAOを作ってファンに何を作るか投票してもらう",
   "page-developers-ethskills-msg-5": "寝ている間にETHを増やすボールトを設定する",
-  "page-developers-ethskills-title": "エージェントと共にonchainで構築する",
+  "page-developers-ethskills-title": "エージェントと共にオンチェーンで構築する",
   "page-developers-evm-desc": "トランザクションを処理するコンピュータ",
   "page-developers-evm-link": "イーサリアム仮想マシン(EVM)",
   "page-developers-explore-documentation": "ドキュメントを探す",
diff --git a/src/intl/ko/page-developers-index.json b/src/intl/ko/page-developers-index.json
index 2cdf0040c4e..322a7499dbb 100644
--- a/src/intl/ko/page-developers-index.json
+++ b/src/intl/ko/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "내 작품이 재판매될 때마다 로열티 받기",
   "page-developers-ethskills-msg-4": "DAO를 만들어 팬들이 내가 만들 것을 투표하게 하기",
   "page-developers-ethskills-msg-5": "자는 동안 ETH를 불려주는 볼트 설정하기",
-  "page-developers-ethskills-title": "에이전트와 함께 onchain으로 구축하기",
+  "page-developers-ethskills-title": "에이전트와 함께 온체인으로 구축하기",
   "page-developers-evm-desc": "거래를 처리하는 컴퓨터",
   "page-developers-evm-link": "이더리움 가상머신(EVM; Ethereum Virtual Machine)",
   "page-developers-explore-documentation": "문서 탐색하기",
diff --git a/src/intl/mr/page-developers-index.json b/src/intl/mr/page-developers-index.json
index 79221100aea..c2963f89573 100644
--- a/src/intl/mr/page-developers-index.json
+++ b/src/intl/mr/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "माझी कला प्रत्येक वेळी पुन्हा विकली गेल्यावर रॉयल्टी मिळवू दे",
   "page-developers-ethskills-msg-4": "एक DAO तयार करा आणि माझ्या चाहत्यांना मी काय बनवतो यावर मतदान करू द्या",
   "page-developers-ethskills-msg-5": "एक वॉल्ट सेट करा जो मी झोपेत असताना माझी ETH वाढवतो",
-  "page-developers-ethskills-title": "एजंट्ससह onchain तयार करा",
+  "page-developers-ethskills-title": "एजंट्ससह ऑनचेन तयार करा",
   "page-developers-evm-desc": "व्यवहारांवर प्रक्रिया करणारा संगणक",
   "page-developers-evm-link": "Ethereum व्हर्च्युअल मशीन (EVM)",
   "page-developers-explore-documentation": "दस्तऐवजीकरण एक्सप्लोर करा",
diff --git a/src/intl/pl/page-developers-index.json b/src/intl/pl/page-developers-index.json
index 50535259898..25567ffe463 100644
--- a/src/intl/pl/page-developers-index.json
+++ b/src/intl/pl/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "niech moja sztuka zarabia tantiemy przy każdej odsprzedaży",
   "page-developers-ethskills-msg-4": "stwórz DAO i pozwól moim fanom głosować nad tym, co tworzę",
   "page-developers-ethskills-msg-5": "ustaw skarbiec, który pomnaża moje ETH, gdy śpię",
-  "page-developers-ethskills-title": "Buduj onchain z agentami",
+  "page-developers-ethskills-title": "Buduj na łańcuchu z agentami",
   "page-developers-evm-desc": "Maszyna, która przetwarza transakcje",
   "page-developers-evm-link": "Maszyna wirtualna Ethereum (EVM)",
   "page-developers-explore-documentation": "Przejrzyj dokumentację",
diff --git a/src/intl/pt-br/page-developers-index.json b/src/intl/pt-br/page-developers-index.json
index cb79ea47088..a6a42101062 100644
--- a/src/intl/pt-br/page-developers-index.json
+++ b/src/intl/pt-br/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "fazer minha arte ganhar royalties toda vez que for revendida",
   "page-developers-ethskills-msg-4": "criar uma DAO e deixar meus fãs votarem no que eu construo",
   "page-developers-ethskills-msg-5": "configurar um cofre que faz meus ETH crescerem enquanto eu durmo",
-  "page-developers-ethskills-title": "Construa onchain com agentes",
+  "page-developers-ethskills-title": "Construa em cadeia com agentes",
   "page-developers-evm-desc": "O computador que processa transações",
   "page-developers-evm-link": "A máquina virtual do Ethereum (EVM)",
   "page-developers-explore-documentation": "Veja a documentação",
diff --git a/src/intl/ru/page-developers-index.json b/src/intl/ru/page-developers-index.json
index ae9c576e2eb..edb2a57245a 100644
--- a/src/intl/ru/page-developers-index.json
+++ b/src/intl/ru/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "пусть мое искусство приносит роялти при каждой перепродаже",
   "page-developers-ethskills-msg-4": "создать DAO и дать моим фанатам голосовать за то, что я создаю",
   "page-developers-ethskills-msg-5": "настроить хранилище, которое наращивает мои ETH, пока я сплю",
-  "page-developers-ethskills-title": "Создавайте onchain с агентами",
+  "page-developers-ethskills-title": "Создавайте ончейн с агентами",
   "page-developers-evm-desc": "Компьютер, который обрабатывает транзакции",
   "page-developers-evm-link": "Виртуальная машина Ethereum (EVM)",
   "page-developers-explore-documentation": "Изучить документацию",
diff --git a/src/intl/ta/page-developers-index.json b/src/intl/ta/page-developers-index.json
index ec7f0223be2..ee9f4227f19 100644
--- a/src/intl/ta/page-developers-index.json
+++ b/src/intl/ta/page-developers-index.json
@@ -20,7 +20,7 @@
   "page-developers-ethskills-msg-3": "என் கலை மறுவிற்பனை ஆகும் ஒவ்வொரு முறையும் ராயல்டி சம்பாதிக்கட்டும்",
   "page-developers-ethskills-msg-4": "ஒரு DAO உருவாக்கி என் ரசிகர்கள் நான் என்ன உருவாக்குவது என்று வாக்களிக்கட்டும்",
   "page-developers-ethskills-msg-5": "நான் தூங்கும்போது என் ETH ஐ வளர்க்கும் வால்ட் அமைக்கு",
-  "page-developers-ethskills-title": "ஏஜென்ட்களுடன் onchain உருவாக்குங்கள்",
+  "page-developers-ethskills-title": "ஏஜென்ட்களுடன் ஆன்செயின் உருவாக்குங்கள்",
   "page-developers-evm-desc": "பரிவர்த்தனைகளைச் செயல்படுத்தும் கணினி",
   "page-developers-evm-link": "எத்தீரியம் மெய்நிகர் இயந்திரம் (EVM)",
   "page-developers-explore-documentation": "ஆவணங்களை ஆராயுங்கள்",
diff --git a/src/intl/te/page-developers-index.json b/src/intl/te/page-developers-index.json
index 8f12aa5c6e8..2957284c144 100644
--- a/src/intl/te/page-developers-index.json
+++ b/src/intl/te/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "నా కళ ప్రతిసారి రీసెల్ అయినప్పుడు రాయల్టీలు సంపాదించనివ్వు",
   "page-developers-ethskills-msg-4": "ఒక DAO తయారు చేసి నా అభిమానులు నేను ఏమి నిర్మిస్తానో ఓటు వేయనివ్వు",
   "page-developers-ethskills-msg-5": "నేను నిద్రపోతున్నప్పుడు నా ETH ని పెంచే వాల్ట్ సెటప్ చేయి",
-  "page-developers-ethskills-title": "ఏజెంట్లతో onchain నిర్మించండి",
+  "page-developers-ethskills-title": "ఏజెంట్లతో ఆన్‌చైన్ నిర్మించండి",
   "page-developers-evm-desc": "ట్రాన్సక్షన్స్ ని ప్రాసెస్ చేసే కంప్యూటర్",
   "page-developers-evm-link": "ఇతిరియం వర్చ్యువల్ మెషిన్(ఈవీఎం)",
   "page-developers-explore-documentation": "డాక్యుమెంటేషన్ ని అన్వేషించండి",
diff --git a/src/intl/tr/page-developers-index.json b/src/intl/tr/page-developers-index.json
index 724a699865b..20a660c227d 100644
--- a/src/intl/tr/page-developers-index.json
+++ b/src/intl/tr/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "sanatımın her yeniden satışta telif kazanmasını sağla",
   "page-developers-ethskills-msg-4": "bir DAO oluştur ve hayranlarımın ne inşa edeceğime oy vermesini sağla",
   "page-developers-ethskills-msg-5": "ben uyurken ETH'mi büyüten bir kasa kur",
-  "page-developers-ethskills-title": "Ajanlarla onchain inşa edin",
+  "page-developers-ethskills-title": "Ajanlarla zincir üstü inşa edin",
   "page-developers-evm-desc": "İşlemleri yapan bilgisayar",
   "page-developers-evm-link": "Ethereum Sanal Makinesi (EVM)",
   "page-developers-explore-documentation": "Belgeyi görüntüle",
diff --git a/src/intl/uk/page-developers-index.json b/src/intl/uk/page-developers-index.json
index 5b3692da72a..c646edcb0ad 100644
--- a/src/intl/uk/page-developers-index.json
+++ b/src/intl/uk/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "нехай моє мистецтво заробляє роялті при кожному перепродажу",
   "page-developers-ethskills-msg-4": "створити DAO і дати моїм фанатам голосувати за те, що я створюю",
   "page-developers-ethskills-msg-5": "налаштувати сховище, яке нарощує мої ETH, поки я сплю",
-  "page-developers-ethskills-title": "Створюйте onchain з агентами",
+  "page-developers-ethskills-title": "Створюйте ончейн з агентами",
   "page-developers-evm-desc": "Комп'ютер, який обробляє операції",
   "page-developers-evm-link": "Віртуальна машина Ethereum (EVM)",
   "page-developers-explore-documentation": "Переглянути документацію",
diff --git a/src/intl/ur/page-developers-index.json b/src/intl/ur/page-developers-index.json
index 6be64094517..c81c919bc2e 100644
--- a/src/intl/ur/page-developers-index.json
+++ b/src/intl/ur/page-developers-index.json
@@ -20,7 +20,7 @@
   "page-developers-ethskills-msg-3": "میرے فن کو ہر بار دوبارہ فروخت ہونے پر رائلٹی کمانے دو",
   "page-developers-ethskills-msg-4": "ایک DAO بناؤ اور میرے مداحوں کو ووٹ دینے دو کہ میں کیا بناؤں",
   "page-developers-ethskills-msg-5": "ایک والٹ سیٹ اپ کرو جو میرے سوتے وقت میری ETH بڑھائے",
-  "page-developers-ethskills-title": "ایجنٹس کے ساتھ onchain بنائیں",
+  "page-developers-ethskills-title": "ایجنٹس کے ساتھ آن چین بنائیں",
   "page-developers-evm-desc": "وہ کمپیوٹر جو لین دین پر کارروائی کرتا ہے",
   "page-developers-evm-link": "ایتھیریم ورچوئل مشین (EVM)",
   "page-developers-explore-documentation": "ڈاکومنٹیشن کو دریافت کریں",
diff --git a/src/intl/vi/page-developers-index.json b/src/intl/vi/page-developers-index.json
index d20d137def2..6db202342e9 100644
--- a/src/intl/vi/page-developers-index.json
+++ b/src/intl/vi/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "để tác phẩm nghệ thuật của tôi kiếm tiền bản quyền mỗi lần được bán lại",
   "page-developers-ethskills-msg-4": "tạo một DAO và để fan bình chọn những gì tôi xây dựng",
   "page-developers-ethskills-msg-5": "thiết lập một kho bạc giúp ETH của tôi tăng trưởng khi tôi ngủ",
-  "page-developers-ethskills-title": "Xây dựng onchain với các tác tử",
+  "page-developers-ethskills-title": "Xây dựng trên chuỗi với các tác tử",
   "page-developers-evm-desc": "Máy tính xử lý các giao dịch",
   "page-developers-evm-link": "Máy ảo Ethereum (EVM)",
   "page-developers-explore-documentation": "Khám phá tài liệu tham khảo",
diff --git a/src/intl/zh-tw/page-developers-index.json b/src/intl/zh-tw/page-developers-index.json
index a09cdb2111f..fc68f627c2c 100644
--- a/src/intl/zh-tw/page-developers-index.json
+++ b/src/intl/zh-tw/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "讓我的藝術品每次轉售都能賺取版稅",
   "page-developers-ethskills-msg-4": "建立一個 DAO 讓粉絲投票決定我做什麼",
   "page-developers-ethskills-msg-5": "設置一個在我睡覺時讓 ETH 增長的金庫",
-  "page-developers-ethskills-title": "與代理一起 onchain 建構",
+  "page-developers-ethskills-title": "與代理一起鏈上建構",
   "page-developers-evm-desc": "處理異動的電腦",
   "page-developers-evm-link": "Ethereum 虛擬機器 (EVM)",
   "page-developers-explore-documentation": "探索文件",
diff --git a/src/intl/zh/page-developers-index.json b/src/intl/zh/page-developers-index.json
index 83bc338f18f..77da202448f 100644
--- a/src/intl/zh/page-developers-index.json
+++ b/src/intl/zh/page-developers-index.json
@@ -19,7 +19,7 @@
   "page-developers-ethskills-msg-3": "让我的艺术品每次转售都能赚取版税",
   "page-developers-ethskills-msg-4": "创建一个 DAO 让粉丝投票决定我做什么",
   "page-developers-ethskills-msg-5": "设置一个在我睡觉时让 ETH 增长的金库",
-  "page-developers-ethskills-title": "与代理一起 onchain 构建",
+  "page-developers-ethskills-title": "与代理一起链上构建",
   "page-developers-evm-desc": "处理交易的计算机",
   "page-developers-evm-link": "以太访虚拟机 (EVM)",
   "page-developers-explore-documentation": "浏览相关文档",

From 677d98c67225507627d3a0a507e73a7384813607 Mon Sep 17 00:00:00 2001
From: myelinated-wackerow
 <263208946+myelinated-wackerow@users.noreply.github.com>
Date: Wed, 11 Mar 2026 21:27:03 +0000
Subject: [PATCH 11/17] fix: story build error and naming cleanup

Fix component reference in meta to use aliased import.
Add required args to satisfy StoryObj type constraint.

Co-Authored-By: Claude Opus 4.6 
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
---
 .../ui/__stories__/TerminalTypewriter.stories.tsx | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx
index f3479a9525c..2b69acf3e71 100644
--- a/src/components/ui/__stories__/TerminalTypewriter.stories.tsx
+++ b/src/components/ui/__stories__/TerminalTypewriter.stories.tsx
@@ -1,11 +1,11 @@
 import { useTranslations } from "next-intl"
 import { Meta, StoryObj } from "@storybook/react"
 
-import { TerminalTypewriter } from "../terminal-typewriter"
+import { TerminalTypewriter as TerminalTypewriterComponent } from "../terminal-typewriter"
 
 const meta = {
   title: "Molecules / Display Content / TerminalTypewriter",
-  component: TerminalTypewriter,
+  component: TerminalTypewriterComponent,
   decorators: [
     (Story) => (
       
@@ -13,16 +13,16 @@ const meta = {
), ], -} satisfies Meta +} satisfies Meta export default meta type Story = StoryObj -const EthSkillsTerminal = () => { +const TerminalTypewriter = () => { const t = useTranslations("page-developers-index") return ( - { } export const Default: Story = { - render: () => , + args: { + messages: [], + }, + render: () => , } From a468c489fc4d8b70e691d7a53069551568ff9bbf Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Wed, 11 Mar 2026 22:24:21 +0000 Subject: [PATCH 12/17] fix: ethskills section layout and spacing Flatten section markup by moving flex classes to Section container. Use gap-8 for 2rem spacing and start-align on mobile with sm:items-center. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- app/[locale]/developers/page.tsx | 75 ++++++++++++++++---------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index eba417bbe5f..3522ca61f48 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -222,50 +222,51 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { -
-
-
-
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
+          
+
+
{` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
  ██╔════╝╚══██╔══╝██║  ██║██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
  █████╗     ██║   ███████║███████╗█████╔╝ ██║██║     ██║     ███████╗
  ██╔══╝     ██║   ██╔══██║╚════██║██╔═██╗ ██║██║     ██║     ╚════██║
  ███████╗   ██║   ██║  ██║███████║██║  ██╗██║███████╗███████╗███████║
  ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝`}
-
- -
-

{t("page-developers-ethskills-title")}

-

- {t("page-developers-ethskills-desc")} -

-
- - +
- - {t("page-developers-ethskills-cta", { ethskills: "ethskills" })} - +
+

{t("page-developers-ethskills-title")}

+

+ {t("page-developers-ethskills-desc")} +

+ + + + + {t("page-developers-ethskills-cta", { ethskills: "ethskills" })} +
Date: Thu, 12 Mar 2026 19:42:34 +0000 Subject: [PATCH 13/17] fix: replace ASCII art with SVG banner Replace Unicode box-drawing ETHSKILLS banner with an optimized SVG (7KB) to fix monospace font rendering on Android. Uses fill=currentColor for dynamic theming. Co-Authored-By: Claude Opus 4.6 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- .../developers/_components/ethskills.svg | 3 +++ app/[locale]/developers/page.tsx | 19 +++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 app/[locale]/developers/_components/ethskills.svg diff --git a/app/[locale]/developers/_components/ethskills.svg b/app/[locale]/developers/_components/ethskills.svg new file mode 100644 index 00000000000..776b9ee3292 --- /dev/null +++ b/app/[locale]/developers/_components/ethskills.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index 3522ca61f48..77c5c298fdb 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -37,6 +37,7 @@ import { screens } from "@/lib/utils/screen" import BuilderCard from "./_components/BuilderCard" import BuilderSwiper from "./_components/BuilderSwiper/lazy" +import EthSkills from "./_components/ethskills.svg" import SpeedRunCard from "./_components/SpeedRunCard" import VideoCourseCard from "./_components/VideoCourseCard" import VideoCourseSwiper from "./_components/VideoCourseSwiper/lazy" @@ -226,17 +227,15 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { id="ethskills" className="flex flex-col gap-8 py-10 sm:items-center md:py-16" > -
-
+              {` ███████╗████████╗██╗  ██╗███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
- ██╔════╝╚══██╔══╝██║  ██║██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
- █████╗     ██║   ███████║███████╗█████╔╝ ██║██║     ██║     ███████╗
- ██╔══╝     ██║   ██╔══██║╚════██║██╔═██╗ ██║██║     ██║     ╚════██║
- ███████╗   ██║   ██║  ██║███████║██║  ██╗██║███████╗███████╗███████║
- ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝`}
+ className="inline-block h-auto max-h-16 w-full max-w-2xl" + />
From 9ca984a7e326b7f06441e68696b092f2c08e7ba2 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 Mar 2026 14:22:35 -0700 Subject: [PATCH 14/17] refactor: use img for svg - remove custom light-mode styling, embeds brand color in svg - moves svg to public; removes import - adjusts size --- app/[locale]/developers/page.tsx | 17 ++++++----------- .../images/developers}/ethskills.svg | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) rename {app/[locale]/developers/_components => public/images/developers}/ethskills.svg (99%) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index 77c5c298fdb..b4b04f57f7c 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -37,7 +37,6 @@ import { screens } from "@/lib/utils/screen" import BuilderCard from "./_components/BuilderCard" import BuilderSwiper from "./_components/BuilderSwiper/lazy" -import EthSkills from "./_components/ethskills.svg" import SpeedRunCard from "./_components/SpeedRunCard" import VideoCourseCard from "./_components/VideoCourseCard" import VideoCourseSwiper from "./_components/VideoCourseSwiper/lazy" @@ -227,16 +226,12 @@ const DevelopersPage = async ({ params }: { params: PageParams }) => { id="ethskills" className="flex flex-col gap-8 py-10 sm:items-center md:py-16" > -
- -
+ {/* eslint-disable-next-line @next/next/no-img-element */} + ETHSKILLS

{t("page-developers-ethskills-title")}

diff --git a/app/[locale]/developers/_components/ethskills.svg b/public/images/developers/ethskills.svg similarity index 99% rename from app/[locale]/developers/_components/ethskills.svg rename to public/images/developers/ethskills.svg index 776b9ee3292..c80249cd0c1 100644 --- a/app/[locale]/developers/_components/ethskills.svg +++ b/public/images/developers/ethskills.svg @@ -1,3 +1,3 @@ - + From f112352a3b21475a385f563ff354551ed68493d8 Mon Sep 17 00:00:00 2001 From: wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 12 Mar 2026 14:24:16 -0700 Subject: [PATCH 15/17] refactor(ui): use font-mono, add data-label - use internal mono font for cli appearance - reusability: add data-label for custom targeting cli styling, e.g., adjusting height when consumed --- src/components/ui/terminal-typewriter.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/ui/terminal-typewriter.tsx b/src/components/ui/terminal-typewriter.tsx index 2de33e4f61d..c7c23f8f5ed 100644 --- a/src/components/ui/terminal-typewriter.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -67,11 +67,15 @@ export function TerminalTypewriter({
-
+
{"$\u00a0"} - + {text} Date: Fri, 13 Mar 2026 10:58:50 +0100 Subject: [PATCH 16/17] fix: guard against empty messages array in terminal typewriter --- src/components/ui/terminal-typewriter.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/ui/terminal-typewriter.tsx b/src/components/ui/terminal-typewriter.tsx index c7c23f8f5ed..9d123671718 100644 --- a/src/components/ui/terminal-typewriter.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -31,6 +31,8 @@ export function TerminalTypewriter({ }, []) useEffect(() => { + if (messages.length === 0) return + const msg = messages[msgIdx] let id: ReturnType @@ -56,6 +58,8 @@ export function TerminalTypewriter({ return () => clearTimeout(id) }, [text, phase, msgIdx, messages]) + if (messages.length === 0) return null + return (
Date: Fri, 13 Mar 2026 10:59:22 +0100 Subject: [PATCH 17/17] refactor: replace js cursor blink with css animation --- src/components/ui/terminal-typewriter.tsx | 16 +--------------- tailwind.config.ts | 5 +++++ 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/components/ui/terminal-typewriter.tsx b/src/components/ui/terminal-typewriter.tsx index 9d123671718..f291a0465ff 100644 --- a/src/components/ui/terminal-typewriter.tsx +++ b/src/components/ui/terminal-typewriter.tsx @@ -23,13 +23,6 @@ export function TerminalTypewriter({ const [msgIdx, setMsgIdx] = useState(0) const [text, setText] = useState("") const [phase, setPhase] = useState("typing") - const [cursorOn, setCursorOn] = useState(true) - - useEffect(() => { - const id = setInterval(() => setCursorOn((v) => !v), 530) - return () => clearInterval(id) - }, []) - useEffect(() => { if (messages.length === 0) return @@ -81,14 +74,7 @@ export function TerminalTypewriter({ className="text-start text-amber-100 max-sm:h-[2lh]" > {text} - - {"█"} - + {"█"}
diff --git a/tailwind.config.ts b/tailwind.config.ts index 7c43337739e..3ede2b64a92 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -306,6 +306,10 @@ const config = { "0%": { opacity: "0" }, "100%": { opacity: "1" }, }, + blink: { + "0%, 100%": { opacity: "1" }, + "50%": { opacity: "0" }, + }, }, animation: { "accordion-down": "accordion-down 0.2s ease-out", @@ -323,6 +327,7 @@ const config = { "counter-spin-9": "spin 18s linear infinite reverse", "pulse-light": "pulse-light 2s cubic-bezier(0.4, 0, 0.6, 1) infinite", "fade-in": "fade-in 150ms ease-in-out", + blink: "blink 1.06s step-end infinite", }, // Add custom border-radius tailwinds extension for "4xl" as "2rem" borderRadius: {