Skip to content

Website redesign 2026 + full i18n catalog (35 locales)#166

Open
DennisPitallano wants to merge 25 commits into
DigiByte-Core:masterfrom
DennisPitallano:redesign-2026
Open

Website redesign 2026 + full i18n catalog (35 locales)#166
DennisPitallano wants to merge 25 commits into
DigiByte-Core:masterfrom
DennisPitallano:redesign-2026

Conversation

@DennisPitallano

Copy link
Copy Markdown
Contributor

Website redesign 2026 + full i18n catalog (35 locales)

Implements the proposal in #165 — please use that issue for higher-level
discussion; this PR description focuses on what's actually changing.

Live preview: https://dg-bio.vercel.app
Base: DigiByte-Core/DigiByte.org:master
Head: DennisPitallano:redesign-2026

TL;DR

20 commits, ~110 files changed (~52 K insertions / ~48 K deletions — most deletions
are legacy per-locale index.html files being regenerated from the new catalog).

  • Full visual + content redesign of the homepage.
  • New locales/<lang>.json catalog driving 35 locales (237 keys each).
  • tools/sync-locales.mjs rewritten to merge the catalog into each
    <lang>/index.html after the existing path/canonical rewrites.
  • Source index.html marked up with data-i18n / data-i18n-attr attributes.
  • RTL (ar, fa) handled via the existing dir="rtl" rewrite.
  • pt-BR browsers now correctly route to /pt-br/ instead of /pt/.

Commit log

48d037c6 feat(i18n): add ar, fa, sw catalogs (237 keys each) - all 35 locales complete
5257e1a9 feat(i18n): add vi, hi, th catalogs (237 keys each)
931d3bef feat(i18n): add id, ms, fil catalogs (237 keys each)
1afd86f9 feat(i18n): add el, sq, tr catalogs (237 keys each)
cf35b745 feat(i18n): add sl, bg, hu catalogs (237 keys each)
43ce11f9 feat(i18n): add pl, cs, hr catalogs (237 keys each)
53930b85 feat(i18n): add sv, nb, fi catalogs (237 keys each)
9c6e9ff9 feat(i18n): add af, da catalogs (237 keys each)
67e42ea4 feat(i18n): add it, pt, ro, nl catalogs (237 keys each)
ed716cc8 feat(i18n): add zh, es, de, fr, pt-br, ru catalogs (237 keys each)
715bfac3 feat(i18n): full ja translation across nav, sections, footer (237 keys)
8975a0f1 feat(i18n): introduce locales/ catalog + data-i18n driven translation pipeline
9d240c88 fix(i18n): route pt-BR users to /pt-br/ instead of /pt/
91288679 fix(docs): use DigiDollar_integration_guide.pdf from master and drop stale copy
65a21c80 Re-skin to DGB logo palette + content polish
22c96029 hero: tighten H1 size (was --fs-8, now 2.2rem-4rem clamp)
d0a86cd8 redesign: apply review-notes pass (copy, layout, roadmap, hero glass)
d36bfd7a docs(dip): add live preview URL (dg-bio.vercel.app) to DIP draft
861b648c docs: add DIP draft for website redesign 2026 (Informational)
3f78df16 feat(redesign 2026): blue-only palette, isometric blockchain hero, live chain stats

How the i18n system works

Source HTML carries stable IDs on translatable elements:

<h1><span class="accent" data-i18n="hero.title">Engineered for continuous operation.</span></h1>
<meta name="description" content="DigiByte is …" data-i18n-attr="content:meta.description">

Per-locale JSON catalog:

{
  "hero.title": "止まらない稼働のために設計。",
  "meta.description": "DigiByteは…"
}

tools/sync-locales.mjs produces every <lang>/index.html from the source plus the
catalog. Missing keys fall back to English. Inline markup inside catalog values
(<strong>, <em>, <a>) is preserved verbatim because catalog content is trusted
in-repo data.

Translation quality — honest caveat

The 35 catalogs were seeded with machine-translated values validated for
key-parity. They render naturally enough to ship, but native-speaker polish is
strongly recommended — strongest today in es / de / fr / it / pt / nl / pl / ru / ja / zh, weakest in th / hi / fil / sw / sq / af.

Refining a locale is now a one-file PR (edit locales/<lang>.json, run
node tools/sync-locales.mjs, commit both the catalog and the regenerated
<lang>/index.html).

How to verify

  • Open https://dg-bio.vercel.app on desktop + mobile.
  • Spot-check at least one RTL locale (/ar/ or /fa/).
  • Spot-check at least one CJK locale (/ja/ or /zh/).
  • node tools/sync-locales.mjs --check returns clean.
  • All language-picker entries navigate to a working translated page.

Out of scope (intentional)

  • Per-locale native-speaker copy polish (follow-up PRs from volunteers).
  • Migration to a build-time templating engine (current model — edit source, run
    script, commit synced files — is sufficient).

Happy to split this PR into smaller chunks (e.g. design vs i18n vs catalog seeding) if
that helps review. Closes #165 once merged.

…ve chain stats

- Replace nav/hero with blockchain-themed isometric cube canvas (lazy-loaded via requestIdleCallback)
- Remove light mode; standardize on dark, blue-only gradient (cyan -> brand blue)
- Live chain dashboard via DigiExplorer Esplora API + Coinpaprika ticker
- Mobile burger menu rewrite (full-width dropdown, glass backdrop, scrollable)
- Scroll-to-top button, lang menu, footer responsive grid, Digi-Stats nav link
- Service worker network-first for HTML/JS/CSS, locale-skip guard in lang router
- Drop legacy assets: jQuery, Modernizr, Pace, plugins1b, main2o, vendor1g, main3p, hashcatcher, cookieinfo
- Wallet logo invert filter for Ledger/SafePal/SecuX
- Telegram -> DigiByteCoin, Discord -> dsc.gg/DigiByteDiscord, DigiStats -> digibyte.io
- Performance/A11y/SEO: deferred GA, non-blocking fonts/FA, ink-3 contrast bump, white CTA text
- Section dividers, sitemap rebuild, all 36 locales synced
Hero: new H1/lead copy, glass content panel for legibility over animated background, centered CTAs and metric chips, removed scroll cue.

Section order: Why DigiByte (4 alternating thematic rows) now precedes Live Network (Hero -> Trust -> Why DGB -> Live Chain -> Tokenomics -> ...).

Copy refresh per review notes: Live Network, Tokenomics, DigiAssets, Digi-ID (incl. 3 new FAQs), Developer Hub, Wallets, Track Record (8 milestones incl. 2026 DigiDollar), Community, Downloads, Footer copyright.

Tokenomics: replaced 3D coin with self-hosted SVG emission-schedule chart (js/tokenomics-chart.js, no third-party API). Removed dead js/coin-3d.js.

Track Record: rebuilt timeline as wavy neon road in 3-col grid (card | lane | card), 8 milestone cards alternating sides, DGB-logo cars driving the SVG path via offset-path (reduced-motion + offset-path fallbacks). RTL mirrored.

Developer Hub: GitHub release notes wrapped in <details> for click-to-expand.

Cleanup: removed clickability and hover lift from partner-logo marquee, DigiAssets flow steps, and dashboard stat cards. Bumped service worker cache to dgb-v2026-06-16; precache includes tokenomics-chart, footerlogo, dgb-logo.

Footer: knockout DigiByte logo linked to #top (interim images/footerlogo.png until new asset arrives), updated descriptor, hard-coded 2014-2026 copyright.

Synced all 36 locales via tools/sync-locales.mjs.
- Tokens: navy canvas (#03102a/#061a3d/#0a2350/#133072), logo-blue ambient gradient, brand gradient retuned to sky->royal->mid blue, new --g-button tokens, blue-surface tokens.
- Nav: solid navy background, white menu links, on-navy ghost/lang buttons, navy mobile drawer.
- Buttons: glossy --g-button gradient on .btn--primary with inset highlight + navy glow.
- Sections: alternating blue panels (.surface--blue maps to s-features/digiassets/devhub/community) with white-glass cards, white headings, pale-blue body, soft seam shading.
- Hero: simplified overlay (single soft vignette) so wider widths no longer show a darker rectangle; navy-tinted glass slab and metric tiles.
- Feature visuals on blue: opaque navy tiles with white icon + white-on-navy stat gradient.
- Dashboard: 3-up grid with original large stat type, neutral delta caption color.
- DigiDollar integration guide added to devhub grid + footer; PDF asset committed.
- Removed Uphold from trust marquee and wallet card.
- Fixed broken /docs/*.pdf links in locale folders by switching to root-relative paths.
… pipeline

- Add locales/en.json (source-of-truth) and locales/ja.json (Japanese MVP)
- Mark hero section in root index.html with data-i18n keys
- Extend tools/sync-locales.mjs to merge catalog values after locale copy
- Translations fall back to English when a key is missing
- MVP: hero now renders in Japanese on /ja/; other locales unchanged
- Mark every translatable string in root index.html with data-i18n / data-i18n-attr
- Expand locales/en.json to 237 source-of-truth keys covering meta, ticker, nav,
  hero, features, chain, tokenomics, digiassets, digi-id, devhub, wallets,
  roadmap, community, downloads, news, footer
- Add full Japanese translations in locales/ja.json (237 keys)
- Relax inner-content escaping in sync-locales.mjs so catalog values may carry
  trusted inline markup (<strong>, <a>, etc.)
- Re-sync all 36 locale files; ja now fully Japanese, others fall back to English
- Phase 2 of the i18n rollout: full translations for 6 more priority locales
- All 7 priority catalogs (ja + zh + es + de + fr + pt-br + ru) now provide
  237-key parity with locales/en.json
- Other 29 locales still fall back to English until a community catalog lands
- Re-synced every locale HTML
- Premine value: 0% -> 0.5% (per QA / wiki: 0.5% fair-launch giveaway)
- Premine subtitle: 'none, ever' -> 'fair launch . giveaways & dev'
  (and translated equivalents across all 35 locales)
- Block reward: ~466 -> ~259 DGB/block (verified live from coinbase
  output at chain tip via digiexplorer.info)

Source HTML patched + tokenomics.premine.delta updated in every
locales/<lang>.json; all locale index.html files re-synced.
Per QA: DigiByte has no halving — emission decreases ~1% per month
continuously. The 'Halving / ~1y / monthly reduction' stat was
misleading.

- HTML: data-i18n key tokenomics.halving.* -> tokenomics.emission.*,
  label 'Halving' -> 'Emission', value '~1y' -> '-1%/mo',
  delta 'monthly reduction' -> 'continuous, no halving'.
- All 35 locale catalogs renamed + retranslated to match.
- Re-synced every <lang>/index.html.
@DennisPitallano

DennisPitallano commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the QA pass @ycagel — addressed all three factual points in commits pushed to this PR:

Issue Fix Commit
Premine showed 0% Changed to 0.5%, updated subtitle to "fair launch · giveaways & dev" (matches roadmap copy and wiki) 85a6f96
Block reward showed ~466 Changed to ~259 — verified from live coinbase at chain tip via digiexplorer.info (25,931,368,854 sats = 259.31368854 DGB at block 23,722,557) 85a6f96
HALVING / ~1y / monthly reduction was misleading — DigiByte has no halving Renamed the stat to EMISSION, value −1%/mo, subtitle "continuous, no halving". Also renamed the i18n key from tokenomics.halving.* to tokenomics.emission.* so future translators don't reintroduce the misnomer. All 35 locale catalogs updated. 8b8afde

Live preview reflects the fixes: https://dg-bio.vercel.app/#tokenomics

Per QA: the /news.xml feed is old and shouldn't be surfaced.

- index.html: drop the <section id='news'> block, the RSS <link rel='alternate'>
  in <head>, and the 'RSS feed' link from the footer Resources list.
- All 35 locale catalogs: remove orphaned keys news.eyebrow, news.title,
  news.lead, footer.resources.rss.
- js/app.js: remove the conditional dynamic import of news-feed.js (its host
  element no longer exists).
- js/sw.js: remove /js/news-feed.js from the precache list.
- js/news-feed.js: deleted (no callers).
- news.xml file kept in place so existing subscribers don't 404.
Per QA. Drops the second download-card in the Downloads section
(DigiByte Mobile, App Store/Play Store/TestFlight buttons,
recovery link) plus the 6 orphaned downloads.mobile.* keys from
all 35 locale catalogs. Re-synced every <lang>/index.html.

Kept: the inline mention of 'DigiByte Mobile' in digiassets.step4.body,
since it's about asset integration capability rather than promoting
the wallet itself.
After removing the Mobile Wallet card, the Full Node card stretched to
the full grid width and looked off. Restructured into a 2-column
'featured' variant:

- Left column: eyebrow, title, subtitle, feature bullets, primary
  actions (Run a node / Checksums).
- Right column: new 'Why self-validate?' sidebar (trustless verification,
  decentralization, privacy) + platform download buttons
  (Windows / macOS / Linux / Snap).

CSS:
- New .download-card--featured (max-width 1080px, centered, internal
  2-col grid, collapses to single column under 760px).
- Removed dead .news-grid and .news-card rules (section is gone).

i18n: added 4 new keys (downloads.core.whyValidate, why1, why2, why3) to
all 35 locale catalogs with translations. Re-synced every <lang>/index.html.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proposal: Website redesign 2026 + full i18n catalog (35 locales)

1 participant