Skip to content

[Feat] Keynote: full 8-language translations and dark/light toggle#182

Merged
samzong merged 1 commit intomainfrom
feat/keynote-i18n-full-8lang-and-theme-toggle
Mar 26, 2026
Merged

[Feat] Keynote: full 8-language translations and dark/light toggle#182
samzong merged 1 commit intomainfrom
feat/keynote-i18n-full-8lang-and-theme-toggle

Conversation

@samzong
Copy link
Copy Markdown
Collaborator

@samzong samzong commented Mar 26, 2026

Summary

Add complete translations for all 8 supported languages (en, zh, ja, ko, fr, de, es, pt) across the entire keynote presentation, and restore the dark/light theme toggle that was previously disabled.

Type of change

  • [Feat] new feature

Why is this needed?

The keynote language switcher advertised 8 languages but only en and zh had actual translations — selecting ja/ko/fr/de/es/pt all fell back to English. Additionally, the colorSchema: dark setting locked the presentation to dark mode only, removing the previously working theme toggle.

What changed?

  • Added ja, ko, fr, de, es, pt translations to every I18nText object across slides.md and all 16 Vue components (~200 translation keys, ~1200 new translation values)
  • Changed colorSchema from dark to all in slides.md frontmatter to re-enable Slidev built-in dark/light toggle
  • Replaced French ASCII apostrophes (') with Unicode U+2019 ('’) to fix Slidev title-renderer Vue compilation errors (e.g. Qualité d'ingénierie broke template parsing)

Architecture impact

  • Owning layer: keynote (standalone Slidev package, no cross-layer impact)
  • Cross-layer impact: none
  • Invariants touched from docs/architecture-invariants.md: none
  • Why those invariants remain protected: keynote is an independent package with no imports from desktop/shared

Linked issues

N/A

Validation

  • pnpm dev (keynote) — all 8 languages render correctly
  • Dark/light toggle works via Slidev controls
  • No Slidev compilation errors after apostrophe fix
  • pnpm lint
  • pnpm test
  • pnpm build
  • pnpm check:ui-contract
  • Manual smoke test
  • Not run (keynote-only change, no desktop code affected)

Screenshots or recordings

N/A — keynote presentation changes only, no desktop UI affected.

Release note

  • No user-facing change. Release note is NONE.
NONE

Checklist

  • The PR title uses at least one approved prefix: [Feat]
  • The summary explains both what changed and why
  • Validation reflects the commands actually run for this PR
  • Architecture impact is described and references any touched invariants
  • Cross-layer changes are explicitly justified
  • The release note block is accurate

@github-actions
Copy link
Copy Markdown
Contributor

Hi @samzong,
Thanks for your pull request!
If the PR is ready, use the /auto-cc command to assign Reviewer to Review.
We will review it shortly.

Details

Instructions for interacting with me using comments are available here.
If you have questions or suggestions related to my behavior, please file an issue against the gh-ci-bot repository.

@samzong samzong force-pushed the feat/keynote-i18n-full-8lang-and-theme-toggle branch from 986cb23 to 6d6459e Compare March 26, 2026 19:23
…t toggle

- Add ja, ko, fr, de, es, pt translations to all I18nText objects
  across slides.md and 16 Vue components (~200 translation keys)
- Change colorSchema from 'dark' to 'all' to re-enable Slidev's
  built-in dark/light theme toggle
- Replace French ASCII apostrophes with Unicode U+2019 to fix
  Slidev title-renderer compilation errors

Signed-off-by: samzong <samzong.lu@gmail.com>
@samzong samzong force-pushed the feat/keynote-i18n-full-8lang-and-theme-toggle branch from 6d6459e to b270e5f Compare March 26, 2026 19:25
@samzong samzong merged commit 854885c into main Mar 26, 2026
9 checks passed
@samzong samzong deleted the feat/keynote-i18n-full-8lang-and-theme-toggle branch March 29, 2026 14:11
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.

1 participant