Internationalization

RSS for tag

Make your app available to an international audience by adapting it to multiple languages, regions, and cultures.

Posts under Internationalization tag

28 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Change iOS Keyboard Language without adding to Settings > Keyboards
The first-party Apple Translate app will switch the on-screen keyboard to the selected language, even when the keyboard for that language is NOT added in Settings > General > Keyboards. We'd like to mirror this behavior and switch the keyboard for input based on a user-selected language from a drop-down without the user needing to add that language to Keyboards I'm struggling to find if this behavior is achieved via a public API. Any insights here?
1
0
40
1d
Allow iOS Arabic keyboard to support custom developer tools
Hello Apple Developer Team, I kindly ask if you could allow developers to access the same Arabic keyboard used in iOS — with the exact layout, design, and smooth performance as the default iPhone keyboard. Currently, building a custom Arabic keyboard that replicates Apple’s layout results in severe lag and a frustrating user experience. Despite many attempts, it’s nearly impossible to match the original keyboard’s speed, size, and feel — especially for Arabic. I fully understand your security concerns. To ensure safety, Apple could prevent typing in password fields and clearly mark the keyboard as customized (e.g., a red Send button). That would be completely acceptable. I am not planning to publish anything on the App Store. This is purely for personal use only — to play and experiment with friends on platforms like Discord, by adding simple tools like repeating each word twice or splitting typed words into separate letters. Honestly, I am mentally exhausted from trying to rebuild something that already exists. Every attempt leads to slow performance and disappointment. I just want the real keyboard — the same one we already use — and the ability to build basic features on top of it. Thank you very much for your time and understanding. Best regards, Abdullah Abdulrahman Aljurayyad
1
0
59
13h
Specific Country version of the App
Hello, one of our published app shows up in US App Store, but not in Australia App Store. It is enabled for Australia from Availability section. Ultimately we need to publish the same app in Australia and use Australia domain name for API service. How do we publish it for Australia and have it show up in their store and change target API URL based on region or locale? Is it prefer to detect locale/region and change URL or publish localized version for the country? Thank you.
0
0
86
1w
Change the Language of my current input keyboard programmatically in iOS and MacOS
We are building a Multi-Lingual Business Application -- where the user is able to enter values and data in multiple languages. One of our main use cases is, if a user is editing or adding to a text value or data that is in a different language. For example, the data they are editing could be in Japanese, and the user's current input language is set to English, then when they enter the editing mode, the input language is automatically set to Japanese by us -- programmatically. They can go back to editing English items, and the input language is changed back to English, and similarly, when they come back to edit the Japanese data or some German data, then the input language is again automatically changed to the respective language by the application -- without causing the user to manually go to the settings and change it. Is there any current way to have this behaviour in MacOS and iOS now? Please suggest what can be done to achieve the same.
4
1
572
5d
AVSpeechSynthesizer read Mandarin as Cantonese(iOS 26 beta 3))
In iOS 26, AVSpeechSynthesizer read Mandarin into Cantonese pronunciation. No matter how you set the language, and change the settings of my phone system, it doesn't work. let utterance = AVSpeechUtterance(string: "你好啊") //let voice = AVSpeechSynthesisVoice(language: "zh-CN") // not work let voice = AVSpeechSynthesisVoice(language: "zh-Hans") // not work too utterance.voice = voice et synth = AVSpeechSynthesizer() synth.speak(utterance)
0
0
159
3w
How to listen for Locale change event in iOS using NSLocale.currentLocaleDidChangeNotification?
I have the following function private func SetupLocaleObserver () { NotificationCenter.default.addObserver ( forName: NSLocale.currentLocaleDidChangeNotification, object: nil, queue: .main ) {_ in print ("Locale changed to: \(Locale.current.identifier)"); } } I call this function inside the viewDidLoad () method of my view controller. The expectation was that whenever I change the system or app-specific language preference, the locale gets changed, and this change triggers my closure which should print "Locale changed to: " on the console. However, the app gets terminated with a SIGKILL whenever I change the language from the settings. So, it is observed that sometimes my closure runs, while most of the times it does not run - maybe the app dies even before the closure is executed. So, the question is, what is the use of this particular notification if the corresponding closure isn't guaranteed to be executed before the app dies? Or am I using it the wrong way?
1
0
68
Jun ’25
libsystem_c.dylib: Assertion failed: (p->val == key), function lookup_substsearch, file collate.c, line 596.
At least with macOS Sequoia 15.5 and Xcode 16.3: $ cat test.cc #include <locale.h> #include <string.h> #include <xlocale.h> int main(void) { locale_t l = newlocale(LC_ALL_MASK, "el_GR.UTF-8", 0); strxfrm_l(NULL, "?", 0, l); return 0; } $ c99 test.c && ./a.out Assertion failed: (p->val == key), function lookup_substsearch, file collate.c, line 596. Abort trap: 6
3
1
135
May ’25
LocalDictionary spelling adding words
Sorry if topic is not exact. I write Ainu in various Roman Latin scripts on English GUI Catalina ,Text Edit. The Ainu words are similar to English ex. 'an' in Ainu is 'exist' ,Ainu Language exists 'Ne Ainu itak an ',so spell checker will not red dot many words also some Ainu words look like other foreign words. I open LocalDictionary and find it blank ,so I open TextEdit and open show spelling grammar 100 words out of 200 are red dotted !the others are not learned, so I press' learn' and it skips to some words not Allan after 100 it stops ,then I go to LocalDictionary and see all those words alphabetical order ,! great ! but what about the rest ? why does select half of the words and /part/ of a phrase/ 'Itak a-e-yay-/han-nok-kar-a' = to study language by oneself.
0
0
60
May ’25
Problem NumberFormatter with Locale
We have identified an issue when using NumberFormatter with the locale set to it_IT. Specifically, when formatting numbers with exactly four integer digits, the grouping separator is not applied: for example, the number is displayed as 4000,00 instead of the expected 4.000,00. This behavior occurs only with four-digit integers; for instance, 40.000,00 is formatted correctly. The issue appears to affect only iOS 18.4 and later versions.
3
0
115
Apr ’25
date(byAdding:value:to:options:) Method Behaves Strangely
Let’s try calculating one day after "2023/11/04 12:00 New York time". let timeZone = TimeZone(identifier: "America/New_York")! var calendar = Calendar(identifier: .gregorian) calendar.timeZone = timeZone var dateFormatter = DateFormatter() dateFormatter.timeZone = timeZone dateFormatter.locale = .init(identifier: "ja_JP") dateFormatter.dateStyle = .short dateFormatter.timeStyle = .short var dateComponents = DateComponents() dateComponents.year = 2023 dateComponents.month = 11 dateComponents.day = 4 dateComponents.hour = 12 // At New York 2023/11/04 12:00 let date1 = calendar.date(from: dateComponents)! print(dateFormatter.string(from: date1)) // Add 1 day let date2 = calendar.date(byAdding: .day, value: 1, to: date1)! print(dateFormatter.string(from: date2))``` The output is: 2023/11/04 12:00 2023/11/05 12:00 Now, let’s try the following—also to get the time one day later: let date2 = calendar.date(byAdding: .minute, value: 24 * 60, to: date1)! print(dateFormatter.string(from: date2)) This outputs: 2023/11/04 12:00 2023/11/05 11:00 What's Causing This Difference? It’s likely due to Daylight Saving Time (DST). But why do we get different results between the first and second examples?
1
0
70
Apr ’25
Difficulty Localizing App Display Name Based on Region in iOS.
I have an application named "XY" that has been launched in several countries. Now, I intend to launch it in Turkey, but we are facing legal issues preventing us from using "XY" as the app's display name. Following the documentation, I localized the app's display name to "ZX" for both Turkish and English (Turkey). However, when users change their device settings, they do not see an option for English (Turkey) language selection. I assumed that for Turkish users, English (Turkey) would be the default language, but this is not the case. Could someone please assist me in resolving this issue? I've investigated options for localizing the display name based on region, but it seems that this functionality isn't feasible on iOS. In contrast, it's relatively straightforward to achieve on Android platforms.
0
0
354
Mar ’25
Appleデバイスの内蔵楽器音について
iPhoneやiPadにおいて、画面上のボタンなどをタップした際に、特定の楽器音を発音させる方法をご存知の方いらっしゃいませんか? 現在音楽学習アプリを作成途中で、画面上の鍵盤や指板のボタン状のframeに、単音又は和音を割当て発音させる事を考えております SwiftUIのcodeのみで実現できないでしょうか 嘗て、MIDIのlevel1の楽器の発音機能があった様に記憶していますが、現在のOS上では同様の機能を実装してないように思えます 皆様のお知恵をお貸しください
1
0
338
Mar ’25
Japanese Katakana and Sign up With Apple
We have an app that has failed during the app review for the Japanese market but has been accepted in several other markets successfully. We need the user's name in native Katakana format as we need it to be displayed in our restaurant Point of Sale systems for workers to be able to read and understand. We use 'Sign up with Apple', but when doing so, if this returns an anglicised given and family name, we have to request the customer supply their Katakana format name so that our in-store systems and staff can process and fulfil their orders. When the App Review process automatically tests the app, it uses "Apple John" as a customer's name. Since this is not a Japanese name, we ask for it again in the correct format, or we cannot allow the user to register. This contravenes Apple's rules, and thus, our app is rejected. If the Apple identity used belonged to a user more typical of the target market, it would work as required. Does anyone else have this issue, and how did you work around it? Tim
2
0
351
Feb ’25
ar Locale default numbering system different between iOS 17 and iOS 18
Hi there The behaviour of using Locale(identifier: "ar") with NumberFormatter.locale appears to have changed between iOS 17 and iOS 18. Is this expected? Steps to reproduce import UIKit func numberFormatter(withlocaleString localeString: String) -> NumberFormatter { let locale = Locale(identifier: localeString) let numberFormatter = NumberFormatter() numberFormatter.locale = locale return numberFormatter } let numbers = 0...9 let localeDigits = numbers let ar_digits = localeDigits.compactMap { numberFormatter(withlocaleString: "ar").string(for: $0)?.first } print(ar_digits) Results The results show: **** numbering system on iOS 17 latn numbering system on iOS 18. iOS Output iOS 17 ["?", "?", "?", "?", "?", "?", "?", "?", "?", "?"] iOS 18 ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
1
0
428
Feb ’25
Use of WidgetConfigurationIntent WidgetKit configurable parameter unable to internationalization of the title?
struct DeployAndWithdrawDefensesAppIntent: WidgetConfigurationIntent { // An example configurable parameter. @Parameter(title:LocalizedStringResource("ax_alarm_device_name")) } In the process of using iOS widgetKit development team a, configuration item title need language internationalization (@ Parameter (title: LocalizedStringResource (" ax_alarm_device_name "))), but found no effect. I first changed the language of the system on the iphone and found that the widget worked. However, just changing the language of the app did not take effect. Is there any way to just change the app language and make the widgets change? Thank you very much!
1
0
947
Jan ’25
Incorrect support language displayed at App Store
Our app support English and Traditional Chinese only, so the Xcode config and the app store setting include these 2 languages only now. However, the support languages displayed at the App Store show our app support Simplified Chinese. Would like to know is there any config we missed or wrong setting we have done? Appreciate for any reply or suggestion.
5
0
1.1k
Feb ’25
DateFormatter return wrong year
my Date type data is "2025-08-06 15:00:00 +0000" and when I use Date formatter to format date with timezone TimeZone(identifier: "Asia/Seoul"), date formatter return wrong year like below (lldb) po print(date); let formatter = DateFormatter(); formatter.timeZone = TimeZone(identifier: "Asia/Seoul"); formatter.dateFormat = "YYYY-MM-dd"; formatter.string(from: date) 2025-08-06 15:00:00 +0000 "2025-08-06" (lldb) po print(date); let formatter = DateFormatter(); formatter.timeZone = .gmt; formatter.dateFormat = "YYYY-MM-dd"; formatter.string(from: date) 2025-08-06 15:00:00 +0000 "2025-08-06"
2
0
513
Jan ’25