Why is the custom localized string macro name only allowed for Objective C and C code? I have a wrapper class for localization which is a Swift function. I'm unable to get the strings i pass to it localized. Is there any way to get it working other than writing an objective C class and adding it to the bridging header?
Explore best practices for creating inclusive apps for users of Apple accessibility features and users from diverse backgrounds.
Post
Replies
Boosts
Views
Activity
Hello, I am implementing voice over for a UITextField which contains a currency field, the drawback is that voice over reads that field in dollars and the currency that I need to implement is another. I have tried to use NumberFormatter and it reads me the type of currency I need but in the end it pronounces the word dollar
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?
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.
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?
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
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!
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
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?
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?
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?
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)
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!
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 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.
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 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'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 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?