Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

set_changelog results in localization error #22038

Open
4 tasks done
kassi opened this issue May 17, 2024 · 1 comment
Open
4 tasks done

set_changelog results in localization error #22038

kassi opened this issue May 17, 2024 · 1 comment

Comments

@kassi
Copy link

kassi commented May 17, 2024

New Issue Checklist

Issue Description

When I use set_changelog to upload a changelog for all languages, I get

[!] An exception occurred for locale: de-DE. Check the localization requirements here: https://help.apple.com/app-store-connect/en.lproj/static.html#dev354659071

The document unfortunately is not helpful and also outdated, referring to https://developer.apple.com/help/app-store-connect/reference/app-information, which doesn't help either.

Besides of the error which makes the function unusable: would the result be the same as if I would write fastlane/metadata/en-US/release_notes.txt and fastlane/metadata/de-DE/release_notes.txt (with the same content) and upload it to appstore connect via deliver?

My project has both en-US (default) and de-DE set up already, so that should not be the problem. Maybe Apple checks if the text is actually written in the correct language?

Command executed
fastlane run set_changelog changelog:"My changelog"
Complete output when running fastlane, including the stack trace and command used
### Captured Output

Command Used: release --capture_output

Output/Log

DEBUG [2024-05-17 18:13:24.77]: Checking if there are any plugins that should be loaded...
DEBUG [2024-05-17 18:13:24.77]: Loading 'fastlane-plugin-semantic_versioning' plugin
INFO [2024-05-17 18:13:24.77]: gem 'fastlane-plugin-semantic_versioning' is already installed

### a lot of lines missing in the output with --capture_output. Added manually: ###

[18:19:32]: ---------------------------
[18:19:32]: --- Step: set_changelog ---
[18:19:32]: ---------------------------
[18:19:32]: Login to App Store Connect (############)
[18:19:36]: Login successful
[18:19:36]: Going to update version 0.3.0
[18:19:36]: Going to update the changelog to:

## 0.3.0 (2024-05-17)

### Features:
- ...
[18:19:37]: Changing existing version number from '0.2.0' to '0.3.0'
[18:19:37]: Updating changelog for the 'de-DE'
+--------------------------------------------------------------------+
|                            Lane Context                            |
+------------------------+-------------------------------------------+
| DEFAULT_PLATFORM       | ios                                       |
| PLATFORM_NAME          |                                           |
| LANE_NAME              | release                                   |
| VERSION_NUMBER         | 0.3.0                                     |
| SEMVER_CURRENT_VERSION | 0.2.0                                     |
| SEMVER_CURRENT_TAG     | 0.2.0                                     |
| SEMVER_BUMP_TYPE       | minor                                     |
| SEMVER_NEW_VERSION     | 0.3.0                                     |
| SEMVER_NEW_CHANGELOG   | ## 0.3.0 (2024-05-17)  ### Features:  ...   |
| SEMVER_BUMPABLE        | true                                      |
+------------------------+-------------------------------------------+
[18:19:38]: de-DE

+------------------------------------------+
|             fastlane summary             |
+------+---------------------+-------------+
| Step | Action              | Time (in s) |
+------+---------------------+-------------+
| 1    | opt_out_usage       | 0           |
| 2    | default_platform    | 0           |
| 3    | import_from_git     | 1           |
| 4    | get_versioning_info | 0           |
| 5    | semantic_bump       | 0           |
| 💥   | set_changelog       | 5           |
+------+---------------------+-------------+

[18:19:38]: fastlane finished with errors

[!] An exception occurred for locale: de-DE. Check the localization requirements here: https://help.apple.com/app-store-connect/en.lproj/static.html#dev354659071

✅ fastlane environment ✅

Stack

Key Value
OS 14.4.1
Ruby 3.2.2
Bundler? true
Git git version 2.45.1
Installation Source ~/.asdf/installs/ruby/3.2.2/bin/fastlane
Host macOS 14.4.1 (23E224)
Ruby Lib Dir ~/.asdf/installs/ruby/3.2.2/lib
OpenSSL Version OpenSSL 1.1.1w 11 Sep 2023
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 15.3
Swift Version 5.10

System Locale

Variable Value
LANG de_DE.UTF-8
LC_ALL
LANGUAGE

fastlane files:

`./fastlane/Fastfile`
import_from_git(url: "git@github.com:kassi/fastlane-files.git")

lane :release do |options|
  if get_versioning_info(options)
    new_version = lane_context[SharedValues::SEMVER_NEW_VERSION]
    UI.message "New version: #{new_version}"

    XcodeFastlane.checkout_branch("releases/#{new_version}")

    semantic_bump

    # Upload the changelog for all languages to AppStore Connect
    set_changelog(changelog: lane_context[SharedValues::SEMVER_NEW_CHANGELOG],
                  version: lane_context[SharedValues::SEMVER_NEW_VERSION])

    push_to_git_remote
    create_pull_request(
      title: "Release #{new_release}",
      base: "main",
      body: lane_context[SharedValues::SEMVER_NEW_CHANGELOG]
    )

  else
    UI.message "No new release necessary"
  end
end
`./fastlane/Appfile`
require "xcode_fastlane"

mandatory_environment = %w[
  APPSTORE_CONNECT_API_KEY_ID
  APPSTORE_CONNECT_API_KEY_ISSUER_ID
  APPSTORE_CONNECT_API_KEY_P8
  FASTLANE_REVIEW_EMAIL
  FASTLANE_REVIEW_FIRSTNAME
  FASTLANE_REVIEW_LASTNAME
  FASTLANE_REVIEW_PHONE
  FASTLANE_SLACK_URL
  FASTLANE_USER
  GITHUB_API_TOKEN
]
if ENV["CI"]
  mandatory_environment += %w[
    CI_BUILD_NUMBER
    CI_BUNDLE_ID
    CI_PRODUCT
    CI_WORKFLOW
    CI_XCODE_SCHEME
  ]
end
mandatory_environment.each do |var|
  # disabled for testing
  # ENV[var] or abort "Missing environment variable: #{var}"
end

app_identifier(ENV["CI_BUNDLE_ID"] || XcodeFastlane.product_bundle_id)
ENV["PRODUCT_NAME"] = ENV["CI_PRODUCT"] || XcodeFastlane.product_name
ENV["APP_NAME"] = ENV["PRODUCT_NAME"]
ENV["IOS_IPA_OUTPUT_NAME"] = ENV["PRODUCT_NAME"]
ENV["IOS_SCHEME"] = ENV["CI_XCODE_SCHEME"] || XcodeFastlane.product_name

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

fastlane gems

Gem Version Update-Status
fastlane 2.220.0 ✅ Up-To-Date

Loaded fastlane plugins:

Plugin Version Update-Status
fastlane-plugin-semantic_versioning 1.0.0 ✅ Up-To-Date
Loaded gems
Gem Version
error_highlight 0.6.0
did_you_mean 1.6.3
syntax_suggest 2.0.0
bundler 2.5.10
pathname 0.3.0
rake 13.2.1
base64 0.2.0
nkf 0.2.0
rexml 3.2.6
CFPropertyList 3.0.7
bigdecimal 3.1.8
concurrent-ruby 1.2.3
connection_pool 2.4.1
drb 2.2.1
i18n 1.14.5
minitest 5.23.0
mutex_m 0.2.0
tzinfo 2.0.6
activesupport 7.1.3.3
public_suffix 5.0.5
addressable 2.8.6
artifactory 3.0.17
atomos 0.1.3
aws-eventstream 1.3.0
aws-partitions 1.929.0
aws-sigv4 1.8.0
jmespath 1.6.2
aws-sdk-core 3.196.1
aws-sdk-kms 1.81.0
aws-sdk-s3 1.151.0
babosa 1.0.4
claide 1.1.0
colored 1.2
colored2 3.1.2
highline 2.0.3
commander 4.6.0
declarative 0.0.20
digest-crc 0.6.5
domain_name 0.6.20240107
dotenv 2.8.1
emoji_regex 3.2.3
excon 0.110.0
faraday-em_http 1.0.0
faraday-em_synchrony 1.0.0
faraday-excon 1.1.0
faraday-httpclient 1.0.1
multipart-post 2.4.1
faraday-multipart 1.0.4
faraday-net_http 1.0.1
faraday-net_http_persistent 1.2.0
faraday-patron 1.0.0
faraday-rack 1.0.0
faraday-retry 1.0.3
ruby2_keywords 0.0.5
faraday 1.10.3
http-cookie 1.0.5
faraday-cookie_jar 0.0.7
faraday_middleware 1.2.0
fastimage 2.3.1
gh_inspector 1.1.3
jwt 2.8.1
multi_json 1.15.0
os 1.1.4
signet 0.19.0
googleauth 1.8.1
httpclient 2.8.3
mini_mime 1.1.5
trailblazer-option 0.1.2
uber 0.1.0
representable 3.2.0
retriable 3.1.2
google-apis-core 0.11.3
google-apis-androidpublisher_v3 0.54.0
google-apis-playcustomapp_v1 0.13.0
google-cloud-env 1.6.0
google-apis-iamcredentials_v1 0.17.0
google-apis-storage_v1 0.31.0
google-cloud-errors 1.4.0
google-cloud-core 1.7.0
google-cloud-storage 1.47.0
json 2.7.2
mini_magick 4.12.0
naturally 2.2.1
optparse 0.5.0
plist 3.7.1
rubyzip 2.3.2
security 0.1.5
simctl 1.6.10
terminal-notifier 2.0.0
unicode-display_width 2.5.0
terminal-table 3.0.2
tty-screen 0.8.2
tty-cursor 0.7.1
tty-spinner 0.9.3
word_wrap 1.0.0
nanaimo 0.3.0
xcodeproj 1.24.0
rouge 2.0.7
xcpretty 0.3.0
xcpretty-travis-formatter 1.0.1
process_executer 1.1.0
rchardet 1.8.0
git 2.0.0
fastlane-plugin-semantic_versioning 1.0.0
thor 1.3.1
xcode_fastlane 1.1.0

generated on: 2024-05-17

@nancy125h
Copy link

nancy125h commented May 27, 2024

Hello, @kassi

When using Fastlane’s set_changelog and encountering a localization error for German (de-DE), ensure your changelog text meets the App Store’s German language requirements. Using release_notes.txt in Fastlane’s metadata directory for each locale with the same content will result in the same changelog being uploaded for all languages. If issues persist, consider localizing your release notes or seeking assistance from Fastlane’s support resources. Keep your Fastlane tools updated for the best results.

I hope this info is helpful to you.

Best Regard,
nancy
Receiptify Spotify

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants