2
2
mirror of https://github.com/mastodon/mastodon-ios synced 2025-04-11 22:58:02 +02:00
mastodon-ios/Localization
Eugen Rochko 583c6a8874
New Crowdin updates (#1427)
* New translations app.json (Icelandic)

* New translations app.json (Spanish)

* New translations app.json (Czech)

* New translations app.json (German)

* New translations app.json (Portuguese)

* New translations app.json (Chinese Simplified)

* New translations app.json (Vietnamese)

* New translations app.json (Portuguese, Brazilian)

* New translations app.json (Lithuanian)

* New translations app.json (Thai)

* New translations app.json (Romanian)

* New translations app.json (French)

* New translations app.json (Arabic)

* New translations app.json (Belarusian)

* New translations app.json (Catalan)

* New translations app.json (Danish)

* New translations app.json (Greek)

* New translations app.json (Basque)

* New translations app.json (Finnish)

* New translations app.json (Hebrew)

* New translations app.json (Hungarian)

* New translations app.json (Armenian)

* New translations app.json (Italian)

* New translations app.json (Japanese)

* New translations app.json (Korean)

* New translations app.json (Dutch)

* New translations app.json (Polish)

* New translations app.json (Russian)

* New translations app.json (Slovenian)

* New translations app.json (Swedish)

* New translations app.json (Turkish)

* New translations app.json (Ukrainian)

* New translations app.json (Chinese Traditional)

* New translations app.json (English)

* New translations app.json (Galician)

* New translations app.json (Indonesian)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Latvian)

* New translations app.json (Hindi)

* New translations app.json (English, United States)

* New translations app.json (Burmese)

* New translations app.json (Welsh)

* New translations app.json (Sinhala)

* New translations app.json (Scottish Gaelic)

* New translations app.json (Aragonese)

* New translations app.json (Kurmanji (Kurdish))

* New translations app.json (Sorani (Kurdish))

* New translations app.json (Kabyle)

* New translations app.json (Chinese Traditional)

* New translations app.json (Vietnamese)

* New translations app.json (Galician)

* New translations app.json (Lithuanian)

* New translations app.json (Icelandic)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Czech)

* New translations app.json (Chinese Simplified)

* New translations app.json (Chinese Simplified)

* New translations intents.strings (Chinese Simplified)

* New translations app.json (Icelandic)

* New translations app.json (Spanish)

* New translations app.json (Czech)

* New translations app.json (German)

* New translations app.json (Portuguese)

* New translations app.json (Chinese Simplified)

* New translations app.json (Vietnamese)

* New translations app.json (Portuguese, Brazilian)

* New translations app.json (Lithuanian)

* New translations app.json (Thai)

* New translations app.json (Romanian)

* New translations app.json (French)

* New translations app.json (Arabic)

* New translations app.json (Belarusian)

* New translations app.json (Catalan)

* New translations app.json (Danish)

* New translations app.json (Greek)

* New translations app.json (Basque)

* New translations app.json (Finnish)

* New translations app.json (Hebrew)

* New translations app.json (Hungarian)

* New translations app.json (Armenian)

* New translations app.json (Italian)

* New translations app.json (Japanese)

* New translations app.json (Korean)

* New translations app.json (Dutch)

* New translations app.json (Polish)

* New translations app.json (Russian)

* New translations app.json (Slovenian)

* New translations app.json (Swedish)

* New translations app.json (Turkish)

* New translations app.json (Ukrainian)

* New translations app.json (Chinese Traditional)

* New translations app.json (English)

* New translations app.json (Galician)

* New translations app.json (Indonesian)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Latvian)

* New translations app.json (Hindi)

* New translations app.json (English, United States)

* New translations app.json (Burmese)

* New translations app.json (Welsh)

* New translations app.json (Sinhala)

* New translations app.json (Scottish Gaelic)

* New translations app.json (Aragonese)

* New translations app.json (Kurmanji (Kurdish))

* New translations app.json (Sorani (Kurdish))

* New translations app.json (Kabyle)

* New translations app.json (Lithuanian)

* New translations app.json (Chinese Traditional)

* New translations app.json (Vietnamese)

* New translations app.json (Galician)

* New translations app.json (Galician)

* New translations app.json (German)

* New translations app.json (Icelandic)

* New translations app.json (Spanish, Argentina)

* New translations app.json (Kabyle)

* New translations localizable.stringsdict (Kabyle)

* New translations app.json (Czech)

* New translations app.json (Chinese Simplified)

* New translations app.json (Chinese Simplified)

* New translations app.json (Chinese Traditional)

* New translations localizable.stringsdict (Chinese Simplified)

* New translations app.json (Chinese Simplified)

* New translations ios-infoplist.json (Chinese Simplified)

* New translations intents.strings (Chinese Simplified)

* New translations localizable.stringsdict (Chinese Simplified)

* New translations app.json (Chinese Traditional)

* New translations app.json (Vietnamese)

* New translations localizable.stringsdict (Chinese Simplified)

* New translations localizable.stringsdict (Vietnamese)

* New translations localizable.stringsdict (Icelandic)

* New translations localizable.stringsdict (Kabyle)

* New translations localizable.stringsdict (Romanian)

* New translations localizable.stringsdict (French)

* New translations localizable.stringsdict (Spanish)

* New translations localizable.stringsdict (Arabic)

* New translations localizable.stringsdict (Belarusian)

* New translations localizable.stringsdict (Catalan)

* New translations localizable.stringsdict (Czech)

* New translations localizable.stringsdict (Danish)

* New translations localizable.stringsdict (German)

* New translations localizable.stringsdict (Greek)

* New translations localizable.stringsdict (Basque)

* New translations localizable.stringsdict (Finnish)

* New translations localizable.stringsdict (Hebrew)

* New translations localizable.stringsdict (Hungarian)

* New translations localizable.stringsdict (Armenian)

* New translations localizable.stringsdict (Italian)

* New translations localizable.stringsdict (Japanese)

* New translations localizable.stringsdict (Korean)

* New translations localizable.stringsdict (Lithuanian)

* New translations localizable.stringsdict (Dutch)

* New translations localizable.stringsdict (Polish)

* New translations localizable.stringsdict (Portuguese)

* New translations localizable.stringsdict (Russian)

* New translations localizable.stringsdict (Slovenian)

* New translations localizable.stringsdict (Swedish)

* New translations localizable.stringsdict (Turkish)

* New translations localizable.stringsdict (Ukrainian)

* New translations localizable.stringsdict (Chinese Traditional)

* New translations localizable.stringsdict (English)

* New translations localizable.stringsdict (Galician)

* New translations localizable.stringsdict (Portuguese, Brazilian)

* New translations localizable.stringsdict (Indonesian)

* New translations localizable.stringsdict (Spanish, Argentina)

* New translations localizable.stringsdict (Thai)

* New translations localizable.stringsdict (Latvian)

* New translations localizable.stringsdict (Hindi)

* New translations localizable.stringsdict (English, United States)

* New translations localizable.stringsdict (Burmese)

* New translations localizable.stringsdict (Welsh)

* New translations localizable.stringsdict (Sinhala)

* New translations localizable.stringsdict (Scottish Gaelic)

* New translations localizable.stringsdict (Aragonese)

* New translations localizable.stringsdict (Kurmanji (Kurdish))

* New translations localizable.stringsdict (Sorani (Kurdish))

* New translations localizable.stringsdict (Chinese Traditional)

* New translations localizable.stringsdict (Spanish, Argentina)

* New translations app.json (Galician)

* New translations localizable.stringsdict (Galician)

* New translations app.json (Thai)

* New translations localizable.stringsdict (Thai)

* New translations app.json (Thai)

* New translations localizable.stringsdict (Thai)

* New translations app.json (Russian)

* New translations app.json (Greek)

* New translations app.json (Greek)

* New translations app.json (Russian)

* New translations localizable.stringsdict (Russian)

* New translations app.json (Russian)

* New translations localizable.stringsdict (Russian)

* New translations localizable.stringsdict (Chinese Simplified)
2025-04-09 15:50:18 -04:00
..
2022-12-19 12:06:46 +01:00

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.