Skip to content

Conversation

@Esscraye
Copy link

Description

This pull request adds VitePress multi-language support and includes a complete German (de) translation of the documentation under de.

Changes

  • Improved
  • Bug Fixes
  • Feature
  • Documentation
  • Other

Context

This change enables multi-language documentation for the site and provides a full German translation, allowing German-speaking users to read the docs in their native language. It adds locale-aware configuration in config.ts (helpers for nav and sidebar) and places all translated content under docs/de. No functional changes to the application or runtime are included — only documentation and site config updates.

How Has This Been Tested?

  • Manually inspected translated pages to ensure frontmatter, code blocks and links were preserved.
  • Built and previewed the site locally
  • Tested on Arch Linux/Based Distro.
  • Tested on Fedora Linux/Based Distro.
  • Tested on openSuse.

Checklist

Please ensure your pull request meets the following requirements:

  • My code follows the style guidelines of this project. (Docs/config follow existing conventions.)
  • I have performed a self-review of my changes.
  • I have commented on my code, particularly in hard-to-understand areas (locale helpers in config.ts are commented).
  • My changes do not introduce new warnings.
  • [-] I have added tests that prove my fix is effective or that my feature works. (N/A for docs-only change.)
  • I have made corresponding changes to the documentation.
  • [-] New and existing unit tests pass locally with my changes. (N/A / no code changes)

Screenshots

image image

Related Issues

N/A

Additional Notes

  • This PR contains only documentation and site configuration changes (i18n support + translations). and fix 2 small changes in the english version (sh -> ini and spappy --> swappy)

@Esscraye
Copy link
Author

Esscraye commented Oct 3, 2025

Hi @mylinuxforwork I wanted to add the french version too, but i was afraid to create a PR with 80 new files ^^.

So tell me, if you want to merge the PR, do you want me to add a commit for the french version or i wait to create a new PR when this one will be merged ? :)

@mylinuxforwork
Copy link
Owner

@Esscraye Thank you so much for your work. But I would currently pause your request. It would be hard for me to maintain two language versions in the docs. But maybe you can support me in the general english version?

@harilvfs
Copy link
Contributor

harilvfs commented Oct 11, 2025

@Esscraye thanks for your work, LGTM. can you provide me the site URL deployed with the GitHub actions workflow? I want to check if everything works.

edit: also can you like update the docs in de in upcoming times, like if the normal eng version changes, can you also update the de version yourself. i can agree with ml4w that maintaining two languages is a bit difficult when there are too many things in the docs, so if you can help ml4w while maintaining the docs in de, it will be good to have them in de lang.

if you can lend your helping hand in future updates of the docs, we can look further to have de lang in the docs.
if you won't have time to do this, then it will be hard for ml4w to maintain both languages. i hope you understand. once again, thanks for your time and work.

@Esscraye
Copy link
Author

hey, I don't think i've the time to maintain the german version, i'm sorry about that ^^

@harilvfs it should be that : https://esscraye.github.io/ml4w-dotfiles/ but it seems the github-page is not really working well ?

Copilot AI review requested due to automatic review settings December 27, 2025 17:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive multi-language support to the VitePress documentation site and provides a complete German (de) translation. The changes enable German-speaking users to access the ML4W Dotfiles documentation in their native language while maintaining the existing English documentation.

Key changes:

  • Implemented VitePress i18n infrastructure with locale-aware navigation and sidebar helpers
  • Added complete German translation covering all documentation sections
  • Fixed minor issues in English documentation (typo corrections and updated links)

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
docs/usage/screenshots.md Fixed typo: "spappy" → "swappy"
docs/usage/keybindings.md Updated GitHub link path from share/dotfiles to dotfiles
docs/help/troubleshooting.md Changed code fence language from sh to ini for SDDM config
docs/development/wiki.md Added multi-language setup instructions and removed outdated information
docs/.vitepress/config.ts Implemented locale system with nav() and sidebar() helper functions supporting i18n
docs/de/**/*.md Complete German translation of all documentation pages
docs/de/showcases/*.{ts,vue} German version of showcase components
docs/customization/displaymanager.md Changed code fence language from sh to ini for configuration examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


</div>

As an example, let's install brave.
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line contains English text in a German translation file. It should be translated to German. The English text "As an example, let's install brave." appears in what should be a fully German document.

Suggested change
As an example, let's install brave.
Als Beispiel installieren wir Brave.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +4
type Showcase = {
image: string
title: string
}
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TypeScript type definition is incomplete. The type declares 'image' and 'title' as required properties, but objects in the array use 'videoUrl' which is not defined in the type. The type should include 'videoUrl' as an optional property, or the properties should be marked as optional.

Copilot uses AI. Check for mistakes.
>
> Documentation in languages other than English may not be up to date. Check the date and the ml4w version shown, and consult the English documentation if in doubt.
** To add a new language, follow these steps:**
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra space before "To add a new language". The markdown has "** To add" with two asterisks and a space, which should be "**To add" without the space for proper bold formatting.

Copilot uses AI. Check for mistakes.

const sidebar = (lang = "", override = {}) => {
// future feature may be needed: sep sidebar for dots-installer section or any other
// basicallyy when user visits /dots-installer/ page it will only show dots-installer menu items
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the comment: "basicallyy" should be "basically".

Suggested change
// basicallyy when user visits /dots-installer/ page it will only show dots-installer menu items
// basically when user visits /dots-installer/ page it will only show dots-installer menu items

Copilot uses AI. Check for mistakes.
const sidebar = (lang = "", override = {}) => {
// future feature may be needed: sep sidebar for dots-installer section or any other
// basicallyy when user visits /dots-installer/ page it will only show dots-installer menu items
// just like how vitepress docs sep "refrence" section https://vitepress.dev/
Copy link

Copilot AI Dec 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the comment: "refrence" should be "reference".

Suggested change
// just like how vitepress docs sep "refrence" section https://vitepress.dev/
// just like how vitepress docs sep "reference" section https://vitepress.dev/

Copilot uses AI. Check for mistakes.
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.

3 participants