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

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.