26d918a28f
This time, it's by hand because why not :D |
||
---|---|---|
.. | ||
StringsConvertor | ||
Intents.stringsdict | ||
Localizable.stringsdict | ||
README.md | ||
app.json | ||
ios-infoPlist.json |
README.md
Localization
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.
- Add new strings in
Localization/app.json
and theLocalizable.strings
for English. - Run
swiftgen
to generate theStrings.swift
-file or have Xcode build the app (swiftgen
is a Build phase, too). - Use
import MastodonLocalization
and its (new)L10n
-enum and its properties where ever you need them in the app. - Once the updated
Localization/app.json
hitsdevelop
, 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:
- Merge the PR with
l10n_develop
intodevelop
. It's usually calledNew Crowdin Updates
- Run
update.localization.sh
on your computer. - Commit the changes and push
develop
.