I have multiple targets in my app: targetA and targetB. Whenever i "Export For Localization", the .xliff generated will cointain translations for:1) Main.storyboard2) targetA/InfoPlist.strings3) targetB/InfoPlist.strings4) targetA/Localizable.strings5) targetB/Localizable.stringsI want to avoid multiple Localizable.strings, and multiple InfoPlist.strings. We do not need one localization per target.Any way i can force the "Export For Localization", to create a .xliff that only contains one Localizable.strings and one InfoPlist.strings?
General
RSS for tagExplore best practices for creating inclusive apps that cater to users with diverse abilities
Post
Replies
Boosts
Views
Activity
In the most recent submission of my React Native iOS app to Appstore Connect, I recieved the following notification via email from Appstore Connect:Dear Developer,We identified one or more issues with a recent delivery for your app, "eSELFSERVE". Your delivery was successful, but you may wish to correct the following issues in your next delivery:Invalid value for purpose string - The value 'NSLocationAlwaysUsageDescription' for Info.plist NSLocationAlwaysUsageDescription is not allowed. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.Best regards,The App Store TeamThey seem like contradictory errors and I am not sure how to solve them. Here is a fragment from my MyProject/Info.plist:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>NSLocationUsageDescription</key>
<string>NSLocationUsageDescription</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>NSLocationAlwaysUsageDescription</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>NSLocationWhenInUseUsageDescription</string>
...
</dict>
</plist>Here is a fragment from en.lproj/InfoPlist.strings:...
NSLocationUsageDescription = "This app records your location when clocking in and out. Clocking in through this app may be rejected if location information is not provided.";
NSLocationWhenInUseUsageDescription = "This app records your location when clocking in and out. Clocking in through this app may be rejected if location information is not provided.";
NSLocationAlwaysUsageDescription = "This app records your location from time to time to expedite clocking in and out. Clocking in through this app may be rejected if location information is not provided.";
...Here is a fragment es.lproj/InfoPlist.stings:...
NSLocationUsageDescription = "Esta aplicación registra su ubicación cuando entra y sale. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación.";
NSLocationWhenInUseUsageDescription = "Esta aplicación registra su ubicación cuando entra y sale. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación.";
NSLocationAlwaysUsageDescription = "Esta aplicación registra su ubicación de vez en cuando para agilizar el registro de entrada y salida. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación.";
...I am also using the geolocation module of React Native 0.59.1.
I'm not sure how a phone number should be read by VoiceOver. Is there a particular format or API that I can use to read phone numbers in my app?
At the moment I'm just assigning the phone number as a String to a UILabel and VoiceOver reads the accessibilityLabel.
I recently added a new language to my app and I have an issue regarding the localization.
Configuration:
I have the developmentRegion in "fr" and setup 2 localizations: "French: Development language" and "Danish"
The goal is to have the application in Danish language if the preferred language is Danish and French otherwise.
Issue:
If French or Danish appear in my preferred languages, I have no problem.
But if neither French nor Danish was set as preferred language (like only English), I have the app translation in French as expected but all strings regarding app permission like "NSLocationWhenInUseUsageDescription" in system modal alert are in Danish.
Is like the localizable.strings file used is in the "fr.lproj" and the InfoPlist.strings is the "da.lproj"
debug
I verify I have all the strings files at the right repository. I have:
fr.lproj
-- Localizable.strings
-- InfoPlist.strings
da.lproj
-- Localizable.strings
-- InfoPlist.strings
I verify the file architecture in the .app file:
find ***.app -name "*.strings"
***.app/fr.lproj/InfoPlist.strings
***.app/da.lproj/InfoPlist.strings
***.app/fr.lproj/Localizable.strings
***.app/da.lproj/Localizable.strings
Finally I print the Bundle.main.localizedInfoDictionary and I have values of the French file but the application show the Danish ones
Thanks for the help.
I have two call directory extensions, each with InfoPlist.strings in en.lproj and nb.lproj directories. In these files I've defined CFBundleDisplayName for both locales.
These names are displayed under Settings -> Phone -> Call Blocking & Identification. On iOS 12.2 the names are displayed correctly in both Norwegian and English.
Testing on iOS 15.3 the English names are displayed even when device language is set to Norwegian.
Worth noting: When updating the English versions of CFBundleDisplayName this is immediately reflected in Call Blocking & Identification page with Norwegian device language.
As this feature requires a real device, I'm unable to test on iOS 13 and 14.
I am working on an app that pulls data from weatherKit, including the conditionCode property, the content of which is displayed to the user. I wish to localize the data pulled from weatherKit but when pulling data from:
weatherkit.apple.com/api/v1/weather/de/{latitude}/{longitude}
The conditionCode and other strings is in english. Same is true if the language parameter is set to es, ja or something else.
Am I doing something wrong or is localization yet to be supported in weatherKit? I can't find any documentation on this.
Steps:
Create a new clean Swift package in Xcode 14.3
Add a defaultLocalization value to the package manifest
Add a platform to the package manifest: platforms: [.iOS(.v16)]
Run Product -> Export Localizations and the following error appears:
Version 14.3 (14E222b)
macOS 13.1 (22C65)
Feedback FB12183400
I've found multiple leaks in AVSpeechSynthesizer which are plaguing my users. My users are complaining of crashes due to this.
Ive created a feedback item (FB12212129) with a sample project attached which demonstrates one of the leaks. I'm hoping an engineer notices this. The only way ive hade my feedback noticed in the past is by both creating a feedback item AND posting on the forums. So here's my forum post. Help is much appreciated!
I have iPadOS17. When I choose to "Start assistive access" I seem to lose switch control. I would have expected to see it continue to work inside the apps. I was very much looking forward to "Assistive Access" reducing the number of clicks tied to switch controlled use of messages and other apps.
In the Settings App, when I go to Accessibility, the only item listed in the SPEECH section is Live Speech. Can I create a personal voice on an iPad?
I am using an iPad 8th gen 32 GB, running iPadOS 17 beta 2 (17.0, 21A5268h)
How can a MacOS user, who can only use a keyboard, select a datalist option on Safari?
So far, it is possible to highlight an option using the arrow keys, but when the desired selection is found and highlighted, there is no way to select that option.
Combinations Used: Enter + [Shift | Control | Option Command]
I'm currently working on a music program that I may want the DND status to provide suitable music recommendations to users.
I searched the main page of API on APPLE.com but found nothing similar.
So is it possible I can get access to such API?
I migrated to String Catalog in my app.
That worked fine, and everything is OK in the Simulator and even on a real device.
However, After I deployed the App and it became available in the AppStore, I started receiving Feedback from some users. Seems my app is no longer doing localization. It always presents itself in its development language.
Has anyone else experienced this?
My app supports English and another language. The English string catalog is empty. Running the app in English in Xcode 15 beta 3, all strings are displayed in capital letters. It seems the behavior when translations are missing. Do we need to translate each English key into the same English translation, or is it a bug?
When adding a new language I added something I don't intend on supporting however you are unable to delete an added language once added.
Yes, I could edit the file as source code and remove all the e.g. de-DE references but that shouldn't be needed.
Edit: Submitted this as feedback via FB12576340
Searching Google (let alone this forum) returns zero results. Does anyone know what causes this error message and how to resolve it (or whether it's safe to ignore)?
Thanks!
Hello,
Upon registration to be able to localise the App for the users I am requesting the countryCode:
(Locale.current as NSLocale).object(forKey: NSLocale.Key.countryCode) as? String
Most of the values are the one expected ("US", "GB", "DE", ...), however in some cases I have numeric country codes like "419" or "241".
I wanted to know if this was expected and how I can make them fallback to the regular country code that are none numeric.
Thank you
Dear Experts,
NSLocale has a notification NSCurrentLocaleDidChangeNotification and a property autoupdatingCurrentLocale ("A locale which tracks the user’s current preferences"). These suggest that an app should be able to detect when the user changes their language preference while running, or when it is resumed from the background.
In practice, when I change language in the Settings app (either globally or just for my app), the app is terminated by iOS and restarts with new locale.
Is this the expected behaviour? I am wondering if there is something I need to do to advertise that the app can adopt language changes without restarting, or something.
Maybe only date-time formats, etc., trigger the notification but language changes don't?
Xcode 15 beta 6 :
Xcode is looking for "${applicationName}" in the strings file keys instead of the value only.
(it was working on Xcode 14)
error : Invalid Utterance. Every App Shortcut utterance should have one '${applicationName}' in it.
I have an App with multiple string catalogs.
I mistyped the name of a table in one of my
String(localized: "Some English Text", table "nonExistingTable") instances.
I did not receive a compile-time warning telling me the table was missing and my application defaulted to the English text instead. Is this expected behaviour or a bug?