We use Crowdin for translations and some automation.
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.
This is mainly for developers.
- Add new strings in
Localization/app.jsonand theLocalizable.stringsfor English. - Run
swiftgento generate theStrings.swift-file or have Xcode build the app (swiftgenis a Build phase, too). - Use
import MastodonLocalizationand its (new)L10n-enum and its properties where ever you need them in the app. - Once the updated
Localization/app.jsonhitsdevelop, it gets synced to Crowdin, where people can help with translations.Localization/app.jsonmust be a valid json.
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:
- Merge the PR with
l10n_developintodevelop. It's usually calledNew Crowdin Updates - Run
update_localization.shon your computer. - Commit the changes and push
develop.