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

38 Posts
Sort by:
Post not yet marked as solved
3 Replies
468 Views
Hi all, My app is available in English and Arabic. However, when searching for the app in iOS App Store, by typing the app name in Arabic, it does not show up in the suggested apps. This occurs in English but also Arabic phone/app configuration. On the other hand, on Android I don't have this issue. Do you know what to do to fix this? We have already added the app name in the AR app store keywords / description, but it did not help as it's still not showing up. Thank you
Posted
by Fafa1080.
Last updated
.
Post not yet marked as solved
0 Replies
444 Views
What's the right way to implement key equivalent matching that handles non-Roman/Latin layouts? E.g. pressing Cmd+Option+C in a Greek layout produces an NSEvent with chars="ç" unmodchars="ψ", neither of which is going to match a key equivalent of Cmd+Option+C by simile comparison, yet performKeyEquivalent on a button with that exact key equivalent returns YES and activates the button. How would someone replicate that? [NSEvent charactersByApplyingModifiers:] also reports "ç", and so does UCKeyTranslate. Yet the Keyboard Viewer shows a modifier layer with "c", not the "ç" that the event reports:
Posted
by torarnv.
Last updated
.
Post not yet marked as solved
0 Replies
460 Views
Dear experts, I get glyphs from the system font using CTFontGetGlyphsForCharacters, something like this: UIFont* uifont = [UIFont monospacedDigitSystemFontOfSize: s weight: w]; CTFontRef font = (__bridge CTFontRef)uifont; CTFontGetGlyphsForCharacters(font, ....); The characters that I ask for are basically latin-1 plus a few others. The app is not localised for Chinese. When I change the phone's default language to Chinese, this code gets glyphs for most characters OK but it fails for a few punctuation symbols: 91 = [ 93 = ] 183 = middle dot 8220 = left double curly quote 8221 = right double curly quote Can anyone guess what's going on here? What's special about those characters? Thanks, Phil.
Posted
by endecotp.
Last updated
.
Post not yet marked as solved
0 Replies
491 Views
Due to our app having different government clearances in each geographical region, we are required to have a different version in each region. While the apps are all fundamentally the same, is there any reason we can't have: OurApp US - available in US OurApp UK - available in UK only OurApp EU - available in EU only While I understand how to implement this, there is concern that the subsequent submissions might be flagged incorrectly by the 4.3 Spam rule. Users would never see more than one version of our app in their region's App Store. Does anyone have any knowledge or experience here? Is this kind of release strategy acceptable?
Posted Last updated
.
Post marked as solved
3 Replies
2.1k Views
I have a full screen list and want to use the new keyboardLayoutGuide constraint, but by default it uses the safe area inset. How can I disable this so my list goes all the way to the bottom of the screen when the keyboard is not shown? NSLayoutConstraint.activate([ collectionView.topAnchor.constraint(equalTo: view.topAnchor), collectionView.bottomAnchor.constraint(equalTo: view.keyboardLayoutGuide.topAnchor), collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor), collectionView.trailingAnchor.constraint(equalTo:  view.trailingAnchor) ])
Posted
by rspoon3.
Last updated
.
Post not yet marked as solved
1 Replies
442 Views
I have been working on a Calendar App. i am getting date format 2023-08-25T7:07:00 pm which is not parsing in any date format. Required Output: 2023-08-25T19:07:00 Getting fail with all date formatter Here is the my code snippet let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss a" dateFormatter.locale = Locale(identifier: "en_US_POSIX") dateFormatter.timeZone = TimeZone.current if let date = dateFormatter.date(from: dateString) { let formattedDateString = dateFormatter.string(from: date) print(formattedDateString) } else { print("Invalid date format") } Help me on this.
Posted Last updated
.
Post not yet marked as solved
0 Replies
454 Views
Hello, I have an app which offers content and users can have access through a montly subscription în app. We plan to expand in a different Country in which we need a different Organization as owner of the app and the revenue genereted from users in the new released country should go to the new organization. If there a way to keep the same app in store but to have multiple entities to manage them for different countries??
Posted
by Convos77.
Last updated
.
Post marked as solved
2 Replies
706 Views
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?
Posted
by endecotp.
Last updated
.
Post not yet marked as solved
2 Replies
584 Views
Is it possible to change the date formats used in the App Store Connect web interface? It seems to me that things like the date range selection widget on the Sales & Trends page use only the US-style MM/DD/YYYY format. Is there some way to change this to YYYY-MM-DD or DD/MM/YYYY that I have missed?
Posted
by endecotp.
Last updated
.
Post not yet marked as solved
3 Replies
705 Views
I logged in to macOS with my localization language. try to perform following code. but always get "Documents". What do I miss? Apple Swift version 5.2.4 macOS 10.15.6 Xcode 11.6 code let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) if paths.count > 0 {     let doc = FileManager().displayName(atPath: paths[0])     print(doc) } result Documents
Posted
by Diuming.
Last updated
.
Post not yet marked as solved
2 Replies
645 Views
Using Swift's DateFormatter class, how does it convert abbreviated date format to languages that don't support abbreviated month names e.g. Urdu For Example, the following code doesn't return the correct Urdu translation for abbreviated Month format. let dateFormatter = DateFormatter() dateFormatter.dateFormat = "MMM d, yyyy" dateFormatter.locale = Locale(identifier: "ur-IN") let date = Date() let formattedDate = dateFormatter.string(from: date) print(formattedDate) // Expected: "جولائی ۱۲, ۲۰۲۳" for Jul 12, 2023 // Actual: "جول ۱۲, ۲۰۲۳"
Posted Last updated
.
Post marked as solved
2 Replies
736 Views
I'm currently developing an application for iOS and I recently updated to the iOS 17 beta along with Xcode 15.0 beta. I am trying to use NumberFormatter to format a Double to a currency string (in my case, American Dollars $). Here is the snippet of my code: let formatter = NumberFormatter() formatter.currencySymbol = Locale.current.currencySymbol print(Locale.current.currency) print(Locale.current.currencySymbol) print(Locale.current.currency?.identifier) print(Locale.current) formatter.numberStyle = .currency When running this on iOS 16, I get the following output: Optional("$") Optional("USD") en_US (current) However, when running the same code on iOS 17 beta, the output is different: nil Optional("¤") nil en_001 (fixed) It appears that the Locale's currency and identifier properties are returning nil, and the Locale itself is being identified differently. Has anyone else encountered this issue with iOS 17 beta and Xcode 15.0 beta? Is this a bug in the beta versions, or have there been changes in the way Locale should be used for currency formatting?
Posted
by Vinnieios.
Last updated
.
Post marked as solved
3 Replies
686 Views
Hi community: Thanks for readme. I want to achieve get an adverb of frequency from a time interval or date component. So if I have something that measure one week, I want to get "weekly" as result, the same for 2 weeks "bi-weekly", month "monthly" and so on. Is there any foundation API to get it? Thanks in advance
Posted
by JesusMG.
Last updated
.
Post not yet marked as solved
0 Replies
948 Views
I write macOS menu app with TextField by SwiftUI on Japanese Input mode. On some conditions, the TextFiled lost focus, no key input, no mouse click. User cannot do anything. Setup MacOS Ventura 13.3.1 (a) Install Japanese Romaji Input source by System Preferences -> Keyboard Set input mode as "Romaji" Build test source code On Xcode 14.3, create new macOS app project "FocusTest" with SwiftUI, Swift. Replace FocusTestApp.swift with attached code. Build on Xcode Steps Set input mode as "Romaji" Run FocusTestApp Click T square icon on top menu Small windows with globe appear Click Desktop background area Click T square icon on top menu Click PIN T with PIN textField View appear That textField lost focus, click inside of textField Key or click is not accepted. With US keyboard mode, key input become possible on Step 10. But Focused blue square is missing. Code of FocusTestApp.swift import SwiftUI @main struct focusTestApp: App { var body: some Scene { MenuBarExtra("Test", systemImage: "t.square") { MainView() }.menuBarExtraStyle(.window) } } struct MainView: View { @State private var showingPIN: Bool = false var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundColor(.accentColor) Button("PIN") { print("clicked") showingPIN = true } } .padding() .sheet(isPresented: $showingPIN) { PinView() } } } struct PinView: View { @Environment(\.presentationMode) var presentationMode @State private var pin: String = "" @FocusState private var pinIsFocused: Bool var body: some View { VStack { Image(systemName: "t.square") .resizable() .aspectRatio(contentMode: .fit) .frame(width: 64.0, height: 64.0) .foregroundColor(.accentColor) Text("Enter PIN code") HStack { TextField("", text: $pin) .font(Font.system(size: 28, design: .default)) .frame(width:4*28.0, height:28.0) .focusable() .focused($pinIsFocused) } .onAppear(){ pinIsFocused = true } } .padding() } }
Posted
by Himadeus.
Last updated
.