Skip to content

jointhefediverse-net/jointhefediverse.net

Repository files navigation

A word cloud of translations of the word fediverse into multiple languages: fediverse, فدیورس, الفديفيرس, федивърса, Fedivers, Fediverse, 联邦宇宙, 聯邦宇宙, fediverso, federujo, fedibertsoa, fédivers, fediversum, fediwersum, fediversumi.

JoinTheFediverse.net

Learn about the fediverse and find your new community.

Contributing

This project is run by volunteers and we appreciate all help. Here's how you can contribute.

Suggesting new features or fediverse platforms to include

All included fediverse platforms should have a dedicated page on joinfediverse.wiki (not affiliated with this project).

Feel free to open a new issue on this repo, or reach out privately.

Translation

Before you begin translating the site:

The current translation workflow is described below. If you don't have a GitHub account, or prefer not to use it, feel free to follow steps 1 through 4 and send the translated files via email.

Otherwise, you can fork this repo, make the necessary changes, and open a pull request.

  1. Note the language code for the language you'd like to translate. This will be your "locale".
  2. Navigate to the translations folder.
  3. Make a copy of the en-us folder and rename it to match your locale, in lower case.
  4. Update the .json files inside the new folder.

The [locale].json file should have the following format:

{
    "label": "Native name of the language",
    "label_lat": "latinized native name of the language, this is used for sorting",
    "label_en": "English name of the language",
    "lang_dir": "the direction of the languaue, LTR (left-to-right) or RTL (right-to-left)",
    "available": true, // Should the language be visible in the language picker? true or false
    "translators": [ // List of people who contributed to the translation
        {
            "name": "Person A",
            "url": "https://example.social/@person_a"
        },
        {
            "name": "Person B",
            "url": "https://example.social/@person_b"
        }
    ]
}

Please note that label_lat should be a latinized (or transliterated) version of the English name of the language. This is needed for a more natural alphabetical sorting in the language picker menu. For example, for Spanish:

"label": "Español",
"label_lat": "espanol",
"label_en": "Spanish",
  1. Translate each file inside your locale folder.

If you're working with a local copy of the site, you will need to install node and run npm run translate to compile translation files inside the locales directory. These files are not committed to the repo and will be generated during site deployment.

Keep in mind that the goal is to communicate the same ideas to an audience in a different culture. For example, in this sentence:

You're probably using Gmail. Or perhaps Outlook. Or Yahoo Mail.

Consider listing services that are popular in your particular country.

Pravdepodobne používaš Gmail. Alebo Zoznam.sk. Možno Centrum.sk.

Updating existing translations

If you'd like to suggest changes to existing translations, and you're comfortable using git/GitHub, you can open a pull request with edits to the translated files for your particular language.

Otherwise, please reach out with your suggestions.

Development

This project uses node v22.16.0. Here's how you can run it locally:

#install dependencies
npm install

# generate translation files
npm run translate

# start development server
npm run dev

Note that there is an open ticket to migrate the styles to SCSS, which will also require adding a build step.