Skip to content

Add support for 11 new App Store Connect locales#29959

Merged
iBotPeaches merged 3 commits into
fastlane:masterfrom
Ryu0118:add-new-app-store-connect-locales
May 6, 2026
Merged

Add support for 11 new App Store Connect locales#29959
iBotPeaches merged 3 commits into
fastlane:masterfrom
Ryu0118:add-new-app-store-connect-locales

Conversation

@Ryu0118

@Ryu0118 Ryu0118 commented Apr 5, 2026

Copy link
Copy Markdown
Contributor

Summary

On March 31, 2026, Apple announced that App Store Connect now supports localized metadata for 11 new languages, bringing the total from 39 to 50 localizations.

This PR adds support for the following new locales:

Language itc_locale locale (BCP 47)
Bangla bn bn
Gujarati gu gu-IN
Kannada kn kn-IN
Malayalam ml ml-IN
Marathi mr mr-IN
Odia or or-IN
Punjabi pa pa-IN
Slovenian sl sl-SI
Tamil ta ta-IN
Telugu te te-IN
Urdu ur ur

Changes

  • deliver/lib/deliver/languages.rb — Added 11 locales to ALL_LANGUAGES
  • fastlane_core/lib/fastlane_core/languages.rb — Added 11 locales to ALL_LANGUAGES
  • produce/lib/produce/available_default_languages.rb — Added 11 language names to the default language list
  • spaceship/lib/assets/languageMapping.json — Added locale/itc_locale mappings for all 11 languages

References

Note

As of April 6, 2026, the App Store Connect API backend may not yet accept these new locale codes (returns "The language specified is not listed for localization"), even though the web UI supports them. This is consistent with past language additions where the API lagged behind the UI. This PR prepares fastlane so it's ready once Apple's API backend catches up.

@iBotPeaches

Copy link
Copy Markdown
Member

As of April 6, 2026, the App Store Connect API backend may not yet accept these new locale codes (returns "The language specified is not listed for localization"), even though the web UI supports them. This is consistent with past language additions where the API lagged behind the UI. This PR prepares fastlane so it's ready once Apple's API backend catches up.

Give me a ping when you believe this works in API. PR looks fine

Fix bn→bn-BD, ur→ur-PK and update all new locales to their canonical
App Store Connect locale codes (e.g. gu-IN, kn-IN, ml-IN, mr-IN,
or-IN, pa-IN, sl-SI, ta-IN, te-IN) so deliver uploads succeed without
locale validation errors.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@ricsantos

Copy link
Copy Markdown

I tested this locally and ran into an issue — the bare codes (bn, gu, etc.) get rejected by the ASC API with "The language specified is not listed for localization".

I poked at one of my apps' existing locales via spaceship and ASC actually has them stored with regional suffixes:

bn-BD gu-IN kn-IN ml-IN mr-IN or-IN pa-IN sl-SI ta-IN te-IN ur-PK

Swapped those in for the bare codes and fastlane deliver happily pushed all 50 locales. Might be worth updating ALL_LANGUAGES (and the itc_locale values in languageMapping.json) to match.

@biodranik

Copy link
Copy Markdown

@Ryu0118 can this PR be updated and merged? If @ricsantos confirms that it is working with properly specified locales.

Update itc_locale in languageMapping.json so that bn, gu, kn, ml, mr,
or, pa, sl, ta, te, ur match their canonical locale values
(bn-BD, gu-IN, kn-IN, ml-IN, mr-IN, or-IN, pa-IN, sl-SI, ta-IN, te-IN,
ur-PK). This ensures the deprecated language-name input path in
produce/itunes_connect.rb maps to a code accepted by App Store
Connect, since `from_standard_to_itc_locale` is consumed by
ConnectAPI::App.create via produce.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@biodranik

Copy link
Copy Markdown

Any hints on how to run this branch locally? Our release is blocked without it…

@Ryu0118

Ryu0118 commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

@iBotPeaches I verified end-to-end against the live ASC API on my own app. All 11 new locales (bn-BD, gu-IN, kn-IN, ml-IN, mr-IN, or-IN, pa-IN, sl-SI, ta-IN, te-IN, ur-PK) uploaded successfully via deliver.

@Ryu0118 Ryu0118 marked this pull request as ready for review May 5, 2026 07:19
@Ryu0118

Ryu0118 commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

@biodranik point your Gemfile at this branch.

gem "fastlane", git: "https://github.com/Ryu0118/fastlane.git", branch: "add-new-app-store-connect-locales"

Then bundle install and run deliver as usual.

@biodranik

biodranik commented May 5, 2026

Copy link
Copy Markdown

I tested this branch, and it works with new locales. So this PR could have been merged a month ago with proper fixes... @lacostej PTAL

This should be released ASAP after merging…

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates fastlane’s App Store Connect language/locale constants and mappings to recognize Apple’s newly announced 11 additional metadata localizations, so users can select/activate these languages in deliver/produce/spaceship once Apple’s backend supports them.

Changes:

  • Added 11 new language codes to the shared ALL_LANGUAGES locale lists (Deliver and FastlaneCore).
  • Added the corresponding language names to Produce’s default language list.
  • Extended Spaceship’s languageMapping.json with new locale/name/itc-locale mapping entries.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
spaceship/lib/assets/languageMapping.json Adds new language mapping records for the 11 locales.
produce/lib/produce/available_default_languages.rb Adds the 11 new language names to the selectable default language list.
fastlane_core/lib/fastlane_core/languages.rb Extends the canonical ALL_LANGUAGES list with the new language codes.
deliver/lib/deliver/languages.rb Mirrors the canonical ALL_LANGUAGES additions for deliver validation/usage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread spaceship/lib/assets/languageMapping.json
Comment thread fastlane_core/lib/fastlane_core/languages.rb
Comment thread deliver/lib/deliver/languages.rb
@iBotPeaches

Copy link
Copy Markdown
Member

Added Copilot who got confused that Apple is now transitioning to the region specific language codes, when previously they were all iso2 codes.

Sounds like we've had a confirmed test, so this might be good to go.

@iBotPeaches iBotPeaches merged commit 618633c into fastlane:master May 6, 2026
13 checks passed

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Ryu0118 👋

Thank you for your contribution to fastlane and congrats on getting this pull request merged 🎉
The code change now lives in the master branch, however it wasn't released to RubyGems yet.
We usually ship about once a month, and your PR will be included in the next one.

Please let us know if this change requires an immediate release by adding a comment here 👍
We'll notify you once we shipped a new release with your changes 🚀"

PratikPatil131 pushed a commit to PratikPatil131/fastlane that referenced this pull request May 9, 2026
…29959)

* [deliver] Add support for 11 new App Store Connect locales (bn, ta, te, mr, ml, kn, gu, pa, ur, sl, or)

* [deliver] Use canonical ASC locale codes for new 11 languages

Fix bn→bn-BD, ur→ur-PK and update all new locales to their canonical
App Store Connect locale codes (e.g. gu-IN, kn-IN, ml-IN, mr-IN,
or-IN, pa-IN, sl-SI, ta-IN, te-IN) so deliver uploads succeed without
locale validation errors.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* [spaceship] Align itc_locale with canonical codes for new 11 languages

Update itc_locale in languageMapping.json so that bn, gu, kn, ml, mr,
or, pa, sl, ta, te, ur match their canonical locale values
(bn-BD, gu-IN, kn-IN, ml-IN, mr-IN, or-IN, pa-IN, sl-SI, ta-IN, te-IN,
ur-PK). This ensures the deprecated language-name input path in
produce/itunes_connect.rb maps to a code accepted by App Store
Connect, since `from_standard_to_itc_locale` is consumed by
ConnectAPI::App.create via produce.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations! 🎉 This was released as part of fastlane 2.234.0 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants