LogoLogo
  • 👋Welcome
  • For the users
    • 📱Download
      • 🔄Update application
    • 📖Offline dictionaries
    • 🌐Dictionaries servers
    • ⁉️Support
  • For the developers
    • 🖥️Getting started
    • 🛠️Develop on Remède
      • 🔌Setup
      • 📁Structure
      • 🧸Development
      • ⚙️API
      • ✨Features
        • ✈️Offline
        • 📒Sheets
        • 🧰DICT Client
      • Android development
    • 📪API
  • Database
    • 🗃️Database
      • 📋Database schema
      • 🗒️Document schema
      • 📦Dataset
      • 🎶Rimes
      • 📍Internationalization
        • 🇬🇧English database
    • 🚧Build Dictionary
      • The building lifecycle
      • Generate my own database
      • About
    • 📌Remède for your project
    • 📎Available formats
      • DICT
      • XDXF
      • CSV
    • ©️Credits
  • Project
    • 📜Story
    • 🙏Contributing
      • 🌐Translation
    • 👣Lifecycles and infrastructure
    • ⏭️Remède Next
Powered by GitBook

Find us

  • Website
  • Github
  • Support

© 2025 The Remède Project and its contributors.

On this page
  • Translating
  • Add a language
  • And about the database ?

Was this helpful?

Edit on GitHub
  1. Project
  2. Contributing

Translation

Remède is translated in multiple languages ! Let's learn how to translate Remède !

PreviousContributingNextLifecycles and infrastructure

Last updated 2 months ago

Was this helpful?

Remède has introduced a translation system since 1.3.0. Remède uses for Vue as a translation system.

Translating

The translations by languages are inside the app/src/data/translations/[locale].json.

For example, en.json (section "home")

{
    "home": {
        "wordOfDay": "Word of day",
        "randomWord": "Random word",
        "myBookmarks": "My bookmarks",
        "forYou": "For you",
        "seeAll": "See all",
        "askToAddAWord": "Ask to add a word",
        "report": "Report",
        "searchWord": "Search a word...",
        "changelog": "Changelog"
    }
}

You can see that there are multiple translation in english.

Add a language

  1. Add his app/src/data/translations/[locale].json file

  2. Define it in app/src/i18n.ts

import yourNewLanguageTranslations from "@/data/translations/en.json"

const globalizationList = {
    fr: frenchTranslations,
    en: englishTranslations,
    yourLocale: yourNewLanguageTranslations
}
  1. Define your language name in app/src/functions/locales.ts

const locales = {
    en: "English",
    fr: "Français",
    yourLocale: "New language",
    dialects: {
        en: [
            "en-GB",
            "en-US",
            "en-CA",
            "en-AU",
            "en-NZ"
        ]
    }
} 

And you're done !

And about the database ?

Remède serve a French database, but we are working on internationalization of the database.

How it works ? We re-use as many code as possible across generation scripts and uses different scrapping services to build our databases.

To serve multiple databases, we define it inside server.py


@app.get('/')
def root():
    return {
        "version": version,
        "message": "Check /docs for documentation",
        "dictionaries": DICTIONARIES
    }
    

if __name__ == '__main__':
    DICTIONARIES = {
        "remede": {
            # Definition of French dict
        },
        "remede.en": {  # Woaaaw ! Serving a new dictionary
            "name": "Remède (EN) Beta",
            "slug": "remede.en",
            "total": get_stats('data/remede.en.db'),
            "hash": md5(open('data/remede.en.db', 'rb').read()).hexdigest()[0:7],
            "valid": False,
            "schema": "",
            "size": f"{int(os.path.getsize('data/remede.en.db') * 10e-7)}Mb"
        }
    }

See Internationalization docs for more information about a specific language.

If your language has specific dialects for the correction service, add its dialects... See , the field "language" in the check function.

🙏
🌐
i18n
Languagetool API documentation