Home
Softono
jointhefediverse.net

jointhefediverse.net

Open source CSS
48
Stars
54
Forks
32
Issues
2
Watchers
1 week
Last Commit

About jointhefediverse.net

JoinTheFediverse.net is a volunteer-run educational website that introduces newcomers to the fediverse, the decentralized network of interconnected platforms for social networking, content sharing, and online communities. The site helps visitors understand what the fediverse is, learn about various federated platforms such as Mastodon, Lemmy, Pixelfed, and others, and find a community that matches their interests. Key features include an overview of the fediverse concept, a directory of platforms categorized by use case, explanations of key concepts like federation and ActivityPub, and resources for new users getting started. The site is open source and translated into dozens of languages through community contributions. The project welcomes volunteers to contribute in several ways: suggesting new fediverse platforms or features by opening GitHub issues, adding translations through a straightforward workflow involving JSON localization files, and reporting issues. Translators can check existing language cover

Platforms

Web Self-hosted

Languages

CSS

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",

Also, please note that // and the following text used in the example above should not be included in the translated JSON file, this is only used for explanation.

  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.