README.md 1.8 KB

Localization

Crowdin

We use Crowdin for translations and some automation.

How to contribute

Help with translations

Head over Crowdin for that. To help with translations, select your language and translate :-) If your language is not in the list, please feel free to open a topic on Crowdin.

Please note: You need to have an account on Crowdin to help with translations.

Add new strings

This is mainly for developers.

  1. Add new strings in Localization/app.json and the Localizable.strings for English.
  2. Run swiftgen to generate the Strings.swift-file or have Xcode build the app (swiftgen is a Build phase, too).
  3. Use import MastodonLocalization and its (new) L10n-enum and its properties where ever you need them in the app.
  4. Once the updated Localization/app.json hits develop, it gets synced to Crowdin, where people can help with translations. Localization/app.json must be a valid json.

How to update translations

If there are new translations, Crowdin pushes new commits to a branch called l10n_develop and creates a new Pull Request. Both, the branch and the PR might be updated once an hour. The project itself uses a script to generate the various Localizable.strings-files etc. for Xcode.

To update or add new translations, the workflow is as follows:

  1. Merge the PR with l10n_develop into develop. It's usually called New Crowdin Updates
  2. Run update.localization.sh on your computer.
  3. Commit the changes and push develop.