Skip to content
Docs Try Aspire

Translation guide for aspire.dev

Thank you for your interest in helping translate aspire.dev! Localization makes Aspire documentation accessible to developers around the world, and your contributions are greatly appreciated.

You can also switch between available languages using the language selector in the footer of any page:

Language selector dropdown in the footer Preferences section

This allows you to view translated content for pages that have already been localized.

The aspire.dev documentation supports multiple languages to help developers worldwide learn and use Aspire in their preferred language. We use Lunaria to track translation progress and manage the localization workflow.

We currently support the following languages:

LanguageCodeStatus
EnglishenSource (default)
Deutsch (German)deIn progress
Español (Spanish)esIn progress
Français (French)frIn progress
Italiano (Italian)itIn progress
日本語 (Japanese)jaIn progress
한국어 (Korean)koIn progress
Português do Brasilpt-brIn progress
Português (Portugal)pt-ptIn progress
Русский (Russian)ruIn progress
简体中文 (Simplified Chinese)zh-cnIn progress
Türkçe (Turkish)trIn progress
हिंदी (Hindi)hiIn progress
Dansk (Danish)daIn progress
Bahasa IndonesiaidIn progress
Українська (Ukrainian)ukIn progress

Before starting a translation, check the current status of translations using our Lunaria dashboard:

View Translation Status

The dashboard shows:

  • Overall progress for each language
  • Individual page status (translated, outdated, or missing)
  • Quick links to create or update translations

The Lunaria dashboard displays translation progress with the following indicators:

  • Done - The page is fully translated and up to date
  • 🔄 Outdated - The source content has changed since the translation was made
  • Missing - The page has not been translated yet
  1. Visit the translation dashboard

    Go to aspire.dev/i18n/ to see the current translation status for all languages.

  2. Find a page to translate

    Look for pages marked as “Missing” or “Outdated” in your language. Missing pages are great starting points!

  3. Create or update the translation file

    Click on the page link in the dashboard to navigate to the source file. The translated file should be created at the corresponding path under your language’s directory.

    For example, if you’re translating src/content/docs/get-started/what-is-aspire.mdx to Japanese, create:

    src/content/docs/ja/get-started/what-is-aspire.mdx
  4. Submit a pull request

    Once you’ve completed your translation, submit a pull request to the repository. See our Contributor guide for detailed instructions on the PR process.

Translations follow a specific directory structure:

  • Directorysrc/content/docs/
    • Directoryget-started/ English (default)
      • what-is-aspire.mdx
    • Directoryja/ Japanese translations
      • Directoryget-started/
        • what-is-aspire.mdx
    • Directoryfr/ French translations
      • Directoryget-started/
        • what-is-aspire.mdx
    • Other languages

Follow these best practices to ensure your translations are helpful, accurate, and consistent with the rest of the documentation.

  1. Preserve frontmatter - Keep the title and other frontmatter fields, but translate their values where appropriate.

  2. Keep code blocks unchanged - Code examples, command-line instructions, and file paths should generally remain in English.

  3. Translate alt text - Image alt attributes should be translated for accessibility.

  4. Maintain links - Keep internal links pointing to the same slugs; Starlight handles language routing automatically.

  5. Preserve component syntax - Astro components like <Aside>, <Steps>, and <Tabs> should keep their original syntax, but translate the content within them.

  • Accuracy matters - It’s better to have fewer, high-quality translations than many poor ones.
  • Technical terms - Some technical terms are better left in English if there’s no commonly accepted translation in your language.
  • Consistency - Use consistent terminology throughout your translations. Check existing translations in your language for reference.

Here’s an example of translating a simple page:

---
title: What is Aspire?
description: Learn how Aspire simplifies development.
---
Aspire streamlines building, running, debugging, and deploying distributed apps.
## Why Aspire?
Building modern applications means juggling multiple services, databases, and dependencies.

Some content may initially be machine-translated to provide a starting point for human translators. We appreciate contributors who:

  • Review machine translations for accuracy and natural phrasing
  • Improve existing translations with better terminology or clearer explanations
  • Fix errors in grammar, spelling, or technical accuracy
  • Add cultural context where appropriate

When the source English content changes, translations become “outdated” in the Lunaria dashboard. To update an outdated translation:

  1. Check what changed in the source file by reviewing the git history or comparing versions.

  2. Update the translated file to reflect the changes in the source.

  3. Submit a pull request with your updates.

  • Start small - Begin with shorter pages to get familiar with the process.
  • Use translation memory - Keep notes of how you translate common terms for consistency.
  • Ask questions - If you’re unsure about something, open a discussion or ask in the PR.
  • Collaborate - Connect with other translators for your language to maintain consistency.

If you have questions about translations or need help: