---
title: "Contributing Translations"
description: "Help translate Reactive Resume into your language using Crowdin"
---

Reactive Resume is used by people all around the world, and translations help make the app accessible to everyone. If you speak a language other than English, you can help by contributing translations.

---

## How Translations Work

Reactive Resume uses [Crowdin](https://crowdin.com/) as its localization management platform. Crowdin provides a user-friendly interface where translators can contribute translations without needing to write code or work with files directly.

<Info>
  The Reactive Resume Crowdin project is available at [https://crowdin.com/project/reactive-resume](https://crowdin.com/project/reactive-resume).
</Info>

Once translations are submitted and approved on Crowdin, they are automatically synced to the codebase and will be available in the next release of the app.

---

## Getting Started

<Steps>
  <Step title="Create a Crowdin Account">
    If you don't already have an account, sign up at [crowdin.com](https://crowdin.com/). You can register using your email or sign up with Google, Facebook, Twitter, GitHub, or GitLab.
    
    <Tip>
      For detailed instructions on creating an account and getting started, see Crowdin's official [For Translators](https://support.crowdin.com/for-translators/) documentation.
    </Tip>
  </Step>
  
  <Step title="Join the Reactive Resume Project">
    Navigate to the [Reactive Resume project on Crowdin](https://crowdin.com/project/reactive-resume) and click **Join** to become a contributor.
  </Step>
  
  <Step title="Select Your Language">
    From the project dashboard, click on the language you want to translate. You'll see a list of files that need translation along with the progress for each.
  </Step>
  
  <Step title="Start Translating">
    Click on a file to open the Crowdin Editor. You'll see the source text (English) on the left and a text field for your translation on the right.
    
    - Translate the text accurately while preserving any placeholders or formatting
    - Use the suggestions from Translation Memory and Machine Translation as a starting point
    - Vote on existing translations if you agree with them
  </Step>
  
  <Step title="Save Your Translations">
    Your translations are saved automatically as you work. Once reviewed, they'll be included in the next app release.
  </Step>
</Steps>

---

## Translation Guidelines

To maintain consistency across all translations, please follow these guidelines:

### Preserve Placeholders

Some strings contain placeholders like `{name}` or `{count}`. These must remain unchanged in your translation:

```
English: "Hello, {name}!"
Spanish: "¡Hola, {name}!"
```

### Keep Formatting

Preserve any HTML tags or markdown formatting in the source text:

```
English: "Click <1>here</1> to continue"
German: "Klicken Sie <1>hier</1>, um fortzufahren"
```

### Use Formal or Informal Tone Consistently

Choose either formal or informal language based on what's standard for software in your language, and stick with it throughout.

### Technical Terms

Some technical terms (like "PDF", "URL", "JSON") are often kept in English across languages. Use your judgment based on what's common in your language's software community.

---

## Requesting a New Language

If your language is not listed in the Crowdin project, you can request it to be added.

<Warning>
  Before requesting a new language, please check if it's already available in the [Crowdin project](https://crowdin.com/project/reactive-resume).
</Warning>

To request a new language:

1. Go to the [GitHub Issues](https://github.com/AmruthPillai/Reactive-Resume/issues) page
2. Click **New Issue**
3. Select the appropriate template or create a blank issue
4. Title it something like: "Add [Language Name] to Reactive Resume"
5. Include the language name and locale code (e.g., "Japanese - ja-JP") in the issue description.

Once approved, the language will be added to Crowdin and you can begin translating.

---

## When Will My Translations Appear?

Translations submitted on Crowdin are synced to the codebase periodically. Once merged, they will be included in the next release of Reactive Resume.

<Info>
  There may be a delay between submitting translations and seeing them live in the app. This is normal and depends on the release cycle.
</Info>

---

## Tips for Effective Translation

<CardGroup cols={2}>
  <Card title="Use Context" icon="eye">
    Crowdin often shows context, screenshots, or comments to help you understand where the text appears in the app.
  </Card>
  <Card title="Check Existing Translations" icon="check">
    Review translations by other contributors and vote for accurate ones to help maintain quality.
  </Card>
  <Card title="Ask Questions" icon="comment">
    Use Crowdin's comment feature to ask about unclear strings or discuss translations with other contributors.
  </Card>
  <Card title="Stay Consistent" icon="book">
    Check the project glossary (if available) to ensure terminology is used consistently across the app.
  </Card>
</CardGroup>

---

## Need Help?

<CardGroup cols={2}>
  <Card
    icon="book-open"
    title="Crowdin Translator Docs"
    href="https://support.crowdin.com/for-translators/"
  >
    Official Crowdin documentation for translators.
  </Card>
  <Card
    icon="github"
    title="GitHub Issues"
    href="https://github.com/AmruthPillai/Reactive-Resume/issues"
  >
    Report issues or request new languages.
  </Card>
</CardGroup>

---

Thank you for helping make Reactive Resume accessible to users worldwide!
