Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

i18n(academy): NL/EN translation pairs for Hydra, OpenSpec, Claude Skills#113

Merged
WilcoLouwerse merged 9 commits into
developmentfrom
tutorial/leerlijn-translations
May 26, 2026
Merged

i18n(academy): NL/EN translation pairs for Hydra, OpenSpec, Claude Skills#113
WilcoLouwerse merged 9 commits into
developmentfrom
tutorial/leerlijn-translations

Conversation

@WilcoLouwerse

@WilcoLouwerse WilcoLouwerse commented May 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Builds out the missing Dutch/English pairs for the academy posts that
were drafted in only one language. Every academy post now has both
academy/<slug>/ (English) and i18n/nl/.../<slug>/ (Dutch) with
matching slugs so the locale switcher resolves consistently.

English translations (from Dutch sources that were sitting in academy/):

  • Hydra leerlijn parts 1–6 (parts 2 + 6 expanded with label-cleanup prereq for retry/rebuild triggers)
  • OpenSpec leerlijn parts 1–2
  • Claude Skills leerlijn parts 1–4
  • openwoo-community-meetings

Dutch translations of EN-original posts:

  • deskdesk-tutorial-0-three-paths
  • deskdesk-tutorial-5-advanced-manifest
  • the-platform-moment
  • spec-driven-development

Dutch copies of the Dutch-sourced posts (now properly under i18n/nl/):

  • All 12 Hydra/OpenSpec/Claude Skills posts

Link localization sweep (separate but co-located):

  • /academy/<slug>/nl/academy/<slug> in href attributes and markdown
    links across all 23 NL blog posts (61 occurrences). Authored absolute
    links don't auto-localize the way Docusaurus's <Link>/paginator do,
    so each NL page must point at /nl/ explicitly. This also fixes the
    same latent bug in pre-existing NL files.
  • Same fix in i18n/nl/.../docusaurus-plugin-content-pages/connext.mdx

Theme i18n string in i18n/nl/code.json:

Dependency on #38

This branch was cut from tutorial/openspec-introductie after the locale-aware
useBaseUrl() theme fixes landed (commit 4e6bdc8e). The link sweep on the
NL files relies on those theme fixes to make breadcrumbs and the "View all"
button locale-aware. Once #38 merges, this PR's diff narrows to just the
i18n content.

Test plan

  • npm run build succeeds for both locales
  • npm run servelocalhost:3000/academy/<slug>/ (EN) and
    localhost:3000/nl/academy/<slug>/ (NL) both render
  • In any NL post, in-page links to other academy posts go to
    /nl/academy/... not /academy/...
  • Locale switcher (top-right) jumps to the EN/NL equivalent of the current page

🤖 Generated with Claude Code

WilcoLouwerse and others added 6 commits May 21, 2026 17:43
…skDesk filler

EN translations (academy/) for posts originally drafted in Dutch:
- Hydra leerlijn parts 1-6 (was Dutch-in-academy)
- OpenSpec leerlijn parts 1-2 (was Dutch-in-academy)
- Claude Skills leerlijn parts 1-4 (was Dutch-in-academy)
- openwoo-community-meetings (was Dutch body with EN title)

NL translations (i18n/nl/.../docusaurus-plugin-content-blog/):
- All twelve "Dutch-in-academy" posts above, copied verbatim
- New NL translations for: deskdesk-tutorial-0-three-paths,
  deskdesk-tutorial-5-advanced-manifest, the-platform-moment
- Slugs identical between EN/NL across all pairs so the locale
  switcher resolves consistently

NL link localization (separate sweep, same files):
- /academy/<slug> → /nl/academy/<slug> in href attrs and markdown links
  inside i18n/nl content (61 occurrences across 23 files including
  pre-existing pairs that had the same latent bug)
- /academy/<slug> → /nl/academy/<slug> in i18n/nl/.../connext.mdx
  Authored absolute links don't auto-localize the way Docusaurus
  <Link>/paginator do, so each NL page must point at /nl/ explicitly.

Theme i18n string:
- code.json: "theme.academy.seriesLabel.deskdesk" → "Bouw een Nextcloud-app"
  (matches the translate() call in BlogListPage; without it the Dutch
  series chip would render the English default)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ijn-translations

# Conflicts:
#	src/css/site.css
Supervisor won't dispatch retry:queued or rebuild:queued while needs-input or
fail labels are still set — add the explicit cleanup command sequence (incl.
HYDRA_LABEL_PREFIX variants) to tutorial 6 and cross-reference from tutorial 2.
The swizzled BlogPostPage in src/theme/BlogPostPage/index.jsx wraps
MDX in .content-detail-body and bypasses the default
BlogPostItem/Content component that adds the .markdown class. The
brand blockquote CSS in src/css/site.css is scoped to
.markdown blockquote, so raw `>` callouts in the Nextcloud tutorial
fell through to Infima's washed-out grey default and rendered without
border/background.

Convert all six callouts in both the EN source and the NL translation
to `:::info`, `:::note`, `:::tip`, `:::warning`, and `:::danger`
admonitions — the same pattern used by the Hydra, Claude Skills, and
OpenSpec tutorials, which never use raw blockquotes for this reason.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
remko48
remko48 previously approved these changes May 22, 2026
WilcoLouwerse and others added 2 commits May 22, 2026 17:30
The installed version of @conduction/docusaurus-preset had drifted to
3.17.0 while package.json required ^3.20.0, so the SetupStep and
SetupSteps components used by the spec-driven-development tutorial
were missing from the resolved bundle, producing dev-server runtime
errors on the academy listing page. Running npm install pulls the
preset up to 3.20.0 and adds search-insights as a transitive
dependency.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Companion NL translation for the EN canonical at
academy/2026-05-22-spec-driven-development/index.mdx, completing the
NL/EN pair so this tutorial appears on /nl/academy/ alongside the
Hydra, OpenSpec, and Claude Skills series.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@WilcoLouwerse WilcoLouwerse merged commit 0b4c2a7 into development May 26, 2026
6 checks passed
@WilcoLouwerse WilcoLouwerse deleted the tutorial/leerlijn-translations branch May 26, 2026 10:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants