CMK eee22a9ba7 Merge branch 'l10n_develop' into release-1.4.7 2 سال پیش
..
StringsConvertor eee22a9ba7 Merge branch 'l10n_develop' into release-1.4.7 2 سال پیش
Intents.stringsdict 0e9165f9e8 chore: add intents strings dict to Crowdin configuration. 3 سال پیش
Localizable.stringsdict 97b6a3de4c Merge remote-tracking branch 'upstream/develop' into account-switcher-a11y 2 سال پیش
README.md 5589ad0b61 Fix typo (#539) 2 سال پیش
app.json 901fecc946 Fix json (#540) 2 سال پیش
ios-infoPlist.json b07a6f8ba9 feat: add compose and search home screen quick actions 3 سال پیش

README.md

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.