i18n(academy): NL/EN translation pairs for Hydra, OpenSpec, Claude Skills#113
Open
WilcoLouwerse wants to merge 10 commits into
Open
i18n(academy): NL/EN translation pairs for Hydra, OpenSpec, Claude Skills#113WilcoLouwerse wants to merge 10 commits into
WilcoLouwerse wants to merge 10 commits into
Conversation
Two short Dutch tutorials for conduction.nl/academy that introduce OpenSpec to new developers and partners, per ConductionNL/.github#51: - Part 1: "Wat is OpenSpec?" — core concepts (spec, requirement, scenario, change), repo layout, when to spec-first. - Part 2: "Je eerste OpenSpec change" — /opsx-new, spec-delta with ADDED requirement + scenario, proposal/design/tasks, /opsx-verify. Each part has five Pluvo questions and cross-links to the Hydra leerlijn, the workstation tutorials, and the official OpenSpec site. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Apply the same closing-quiz treatment as the Hydra leerlijn (PR preceding this one) to both OpenSpec tutorials: replace the static "Pluvo-vragen" list with "Test jezelf" sections where each question sits in a .tutorial-quiz card with click-to-expand Hint and Antwoord spoilers (Docusaurus <Details> with summary prop). Adds two CSS blocks to src/css/site.css that come over from the Hydra branch: - .tutorial-quiz styling, including overrides for Infima's .alert--info colours and Docusaurus' built-in Details chevron, so the marker flows inline and the open body has readable contrast. - A brand-aligned blockquote treatment (cobalt palette, callout look) so the existing `> Naamgevingsregel` blockquote in tutorial 2 picks up the brand styling instead of Infima's washed-out gray default. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…pec-introductie # Conflicts: # src/css/site.css
…+ misc updates OpenSpec leerlijn (primary work this session): - Tutorial 1: corrected mappenstructuur (openspec/architecture/ restored with app-specific vs company-wide ADR distinction), added visual ASCII pipeline diagram, fixed /opsx-new vs /opsx-ff explanation - Tutorial 2: new Stap 0 for /opsx-explore, reorganized steps 4-6 to follow canonical dependency chain (proposal → specs → design → tasks), /opsx-ff promoted to align with canonical path, replaced /opsx-verify with openspec validate --strict for spec validation, added Stap 10-11 for /opsx-plan-to-issues + /opsx-apply + /opsx-verify + /opsx-archive DeskDesk leerlijn: - Renumbered tutorial 5 → 6 (integrate) to make room for advanced manifest - Updated tutorials 0-4 + i18n/nl translations Other updates: - Hydra tutorial 6 (troubleshooting escalatie) - Claude skills tutorial 1 - WOO tutorials (bestanden uploaden, register opzetten) - Build-an-app tutorial - ConNext landing page (src + i18n) - BlogListPage theme component - package.json + .nvmrc Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
BlogListPage (filter / series-focus improvements): - Add `series` query param to dedicated focus mode: skip module-collapse and the Featured slot when a series is active, sort parts by partNumber ascending so Part 0 → N reads in natural order - Hide the series chip row outside the "Everything" and "Tutorials" views (it was noise on blog/guide/case-study/webinar filters) - Extract "DeskDesk" → "Build a Nextcloud app" series label into a translate() call so the chip can be localized Locale-aware links (works correctly when viewing /nl/academy/*): - BlogListPage empty-state "View everything" link uses useBaseUrl() - BlogPostPage breadcrumb (Academy + content-type filter) and "View all" in Keep learning… footer use useBaseUrl() Without this the breadcrumb on a Dutch post sent you to the English academy index, and the type chip on the breadcrumb went to the EN filtered view. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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) andi18n/nl/.../<slug>/(Dutch) withmatching slugs so the locale switcher resolves consistently.
English translations (from Dutch sources that were sitting in
academy/):openwoo-community-meetingsDutch translations of EN-original posts:
deskdesk-tutorial-0-three-pathsdeskdesk-tutorial-5-advanced-manifestthe-platform-momentDutch copies of the Dutch-sourced posts (now properly under
i18n/nl/):Link localization sweep (separate but co-located):
/academy/<slug>→/nl/academy/<slug>inhrefattributes and markdownlinks 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 thesame latent bug in pre-existing NL files.
i18n/nl/.../docusaurus-plugin-content-pages/connext.mdxTheme i18n string in
i18n/nl/code.json:theme.academy.seriesLabel.deskdesk→ "Bouw een Nextcloud-app"Matches the
translate()call introduced in the BlogListPage swizzleon docs(academy): OpenSpec introductie tutorial (parts 1 + 2) #38. Without this entry the Dutch series chip falls back to English.
Dependency on #38
This branch was cut from
tutorial/openspec-introductieafter the locale-awareuseBaseUrl()theme fixes landed (commit4e6bdc8e). The link sweep on theNL 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 buildsucceeds for both localesnpm run serve→localhost:3000/academy/<slug>/(EN) andlocalhost:3000/nl/academy/<slug>/(NL) both render/nl/academy/...not/academy/...🤖 Generated with Claude Code