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

144 Posts

Post

Replies

Boosts

Views

Activity

macOS spell checker has a problem
I added a custom spelling dictionary (.aff, .diff) for the Armenian language because macOS doesn't have one by default. Enabled in the settings and restarted the computer. Spell checker only checks words longer than 10. I have tested same dictionary with Hunspell, it work perfectly. Problem is not new, it have on my all devices and friends devices too. Now I am using MacBook pro M2 with Ventura 13.2.1. I have several Armenian dictionaries to test. For example, you can try this: https://github.com/titoBouzout/Dictionaries
1
0
925
Feb ’23
Use DEBUG build for localization exports (Use Compiler to Extract Swift Strings)?
In order to localize string interpolation inside SwiftUI Text Views, String(localized:) and AttributedString(localized:), the project or framework's build settings needs to have Use Compiler to Extract Swift Strings enabled (e.g. SWIFT_EMIT_LOC_STRINGS=YES). However, while testing exports it appears that exporting localizations (Product > Export Localizations) are always done using a RELEASE build rather than a DEBUG build. For us, this is problematic as release builds use certificates that are only used by the build system. Software or internationalization engineers trying to export localizations with Use Compiler to Extract Swift Strings enabled, will run into issues as the swift compiler step will fail. Is there a way to make localization exports use a DEBUG build rather than a RELEASE build? Or alternatively ignore signing for localization exports?
3
0
2.0k
Jan ’23
MeasurementFormatter provides a string formatted in `g/L` when passed in a `Measurement` with unit `.milligramsPerDeciliter`
The MeasurementFormatter provides a string formatted in g/L when passed in a Measurement with unit .milligramsPerDeciliter. See example below. The same behavior happens for all unitStyles (.short, .medium, .long) and for .millimolesPerLiter. let formatter = MeasurementFormatter() formatter.unitStyle = .medium formatter.unitOptions = .providedUnit let concentrationMass = Measurement(value: 200, unit: UnitConcentrationMass.milligramsPerDeciliter) print(formatter.string(from: concentrationMass)) // Results in "2 g/L". Expected "200 mg/dL". Submitted bug with Feedback ID: 11934871
1
1
780
Jan ’23
iOS16 Date format does not update when setLocalizedDateFormatFromTemplate is used
Hi, With iOS16, we have a new setting named Date Format in Language&Region menu. When I use setLocalizedDateFormatFromTemplate to format my date, changing Date Format setting does not update the format of my date. This is my code to format my date: let formatter = DateFormatter() formatter.setLocalizedDateFormatFromTemplate("ddMMyyyy") formatter.calendar = .autoupdatingCurrent formatter.locale = .autoupdatingCurrent formatter.timeZone = .autoupdatingCurrent let myText = formatter.string(from: Date()) I provided this template as an example. I have other templates like "dMMMMyyyy" or "dMMMM" and none of them gets updated when date format setting is changed.
4
1
1.6k
Jan ’23
Odd behaviour from RelativeDateTimeFormatter
I should preface my question by saying I love this formatter and the edge cases it handles for us, but I've found a case that seems odd to me. (all times are in the same time zone. let's go with Pacific) current time is 3:05pm, December 21 comparison time formatter output dec 20 @ 3:15pm 23 hours ago (great!) dec 20 @ 2:15pm yesterday (also great!) dec 19 @ 3:15pm yesterday (wait, wut?!) If today is Dec 21, shouldn't yesterday be limited to Dec 20 00:00:00 - 23:59:59? I see three options: I'm using RelativeDateTimeFormatter incorrectly I'm misunderstanding the sematics of 'yesterday' ( is it correct to refer to 47 hours ago as yesterday?) RelativeDateTimeFormatter is misbehaving all thoughts on this are welcome.foun here is some playground code demonstrating this behaviour let relativeDateFormatter: RelativeDateTimeFormatter = {     let formatter = RelativeDateTimeFormatter()     formatter.dateTimeStyle = .named     return formatter }() func startDate(from dateText: String) -> Date {     let formatter = DateFormatter()     formatter.locale = Locale(identifier: "en_US_POSIX")     formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"     formatter.timeZone = .current     return formatter.date(from: dateText)! } let myNow = startDate(from: "2022-12-21T23:05:00Z") let almostTwoDaysAgo = myNow.addingTimeInterval(-(48 * 3600 - 600)) let relText = relativeDateFormatter.localizedString(for: almostTwoDaysAgo, relativeTo: myNow)
3
0
1.2k
Dec ’22
iOS16 numeric Date.FormatStyle.DateStyle does not update when date format changes
With iOS16, we have a new setting in the Language&Region settings menu that we can change the short format of the date. I have a text and to format it, when I use the old DateFormatter API with short dateStyle, after I change the date format in the settings menu, my text gets updated. However when I use the new iOS15 API with numerical DateStyle, it does not get updated. Here's the code. This one is the one working:(Old API): let formatter = DateFormatter() formatter.dateStyle = .short formatter.timeStyle = .none let myText = formatter.string(from: Date.now) This is the new API and it does not get updated when I change the date format in Languge&Region settings menu: let myText = Date.now.formatted(date: .numeric, time: .omitted)
2
0
1.4k
Dec ’22
xCode localization export failed for shared framework with multiple destinations
When exporting localization in xCode for a shared framework, the localization build fails with the error "Could not choose a single platform from the supported platforms iphoneos, iphonesimulator, watchos, watchsimulator of target" Note that the shared target has multiple supported destinations = iPhone/iPad/Apple Watch.
3
0
1.7k
Nov ’22
Why can't users find my app in the app store of canada?
My app has been live quite some time in the apple App Store. It has been installed by people from multiple countries. Today I got a report from a Canadian client that she could not find my app in the store. She was able to install it through a direct link to the app that was provided on my website though. To diagnose the problem I used a website to search for my app in certain "regions" of the app store, and I noticed I could find my app on the US app store, the Australian app store and the UK app store, but not on the Canadian one. US store - Correct result: https://fnd.io/#/us/search?mediaType=all&term=bookabooka Australian store - Correct result: https://fnd.io/#/au/search?mediaType=all&term=bookabooka British store - Correct result: https://fnd.io/#/gb/search?mediaType=all&term=bookabooka Canadian store - No result: https://fnd.io/#/ca/search?mediaType=all&term=bookabooka I double checked my appstoreconnect settings, and Canada is enabled as a target country / region so it should appear there as well. I went through the other settings of appstoreconnect, and found out that I had ONLY provided the localization for the app info in English (UK). There is a separate localization option for Canada, the U.S and Australia: English (Canada) English (U.S.) English (Australia) But since the app is visible on the U.S. and Australian versions of the app store this is probably not the reason. Any other ideas what could be causing this?
2
0
1.7k
Oct ’22
iOS: Date formatter with "ar_AE" language code not converting date to Arabic
When I try to convert date to Arabic language with below code & ar_AE language code, it does not work. let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.locale = Locale.init(identifier: "ar_AE") lblDate.text = dateFormatter.string(from: Date()) when we change the language code to _ar_OM_ or ar_SD or any other Arabic countries it works in iOS. let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.locale = Locale.init(identifier: "ar_OM") lblDate.text = dateFormatter.string(from: Date()) Tested on iOS 15.5 & 13.3, there is nothing related to iOS version. Request someone to help me to understand the reason why "ar_AE" code is not working while if I provide identifier "ar" it works perfectly & that would be great help if we can resolve this.
1
1
1.8k
Sep ’22
Canadian Users Can't Open My App
All but one of my app users are operating in the USA and are using it with no problems. I have one customer in Canada, with four users. They have had problems using the app from the start. However in the last month it will not open for them at all. While they can download the app from the Apple Store to attempt to reinstall, it will not open. Has something changed in the past few months that would cause this to happen?
1
0
785
Jul ’22
SF arabic font
when I'm trying to use SF Arabic on adobe XD I found that the letters which have dots are damaged especially when I change the thickness of the font which makes it impossible to use the font, how can I resolve this issue? also when I use the compressed and the extended font in SF pro how can I find the equalizing in SF Arabic?
2
1
1.9k
Jun ’22
Custom Keayboard layout icon lot loaded as Template Image in Monterey 12.4
I created a custom keyboard layout with the app Ukelele, based on a built-in layout and thus using the original icon. However, the icon is not loaded as a template image in the Menu Bar. The result is that when a darker background image is used (or a dynamic background turns darker), the black part of the icon does not switch to white and all I see is a black square with the letters of the keyboard layout not readable: This was fine until 12.3 when flags were used as icons instead. Is this a bug and is there a way to workaround this?
2
0
1.7k
Jun ’22
Language for UITextChecker.rangeOfMisspelledWord(in:range:startingAt:wrap:language:)
Language of UITextChecker.rangeOfMisspelledWord() may be language (en) or language+region (en_JP, en_US, ...). What is difference in results for these two languages?  For example, we have three misspelled words: “misspell_en” - misspelled in all english regions. “misspell_en_US” - misspelled in US region but correct in all other regions. “misspell_en_GB” - misspelled in GB region but correct in all other regions. It seems if we pass to rangeOfMisspelledWord() language = “en_US”, result will be [“misspell_en”, “misspell_en_US”] because only these two words are misspelled in US region. Correct?  What will be result of rangeOfMisspelledWord() if we pass language without region - language = “en”? All words will be returned as misspelled because each word is misspelled at least in one of the “en” regions? Or only “word_en” because other two words are correct at least in one of the “en” regions?
0
0
654
May ’22
macOS spell checker has a problem
I added a custom spelling dictionary (.aff, .diff) for the Armenian language because macOS doesn't have one by default. Enabled in the settings and restarted the computer. Spell checker only checks words longer than 10. I have tested same dictionary with Hunspell, it work perfectly. Problem is not new, it have on my all devices and friends devices too. Now I am using MacBook pro M2 with Ventura 13.2.1. I have several Armenian dictionaries to test. For example, you can try this: https://github.com/titoBouzout/Dictionaries
Replies
1
Boosts
0
Views
925
Activity
Feb ’23
Error 400 when I try to change my country
The error Bad Message 400 is on my iPhone screen when I try to access my country/ region. And I need change to download a app
Replies
1
Boosts
0
Views
745
Activity
Jan ’23
Use DEBUG build for localization exports (Use Compiler to Extract Swift Strings)?
In order to localize string interpolation inside SwiftUI Text Views, String(localized:) and AttributedString(localized:), the project or framework's build settings needs to have Use Compiler to Extract Swift Strings enabled (e.g. SWIFT_EMIT_LOC_STRINGS=YES). However, while testing exports it appears that exporting localizations (Product > Export Localizations) are always done using a RELEASE build rather than a DEBUG build. For us, this is problematic as release builds use certificates that are only used by the build system. Software or internationalization engineers trying to export localizations with Use Compiler to Extract Swift Strings enabled, will run into issues as the swift compiler step will fail. Is there a way to make localization exports use a DEBUG build rather than a RELEASE build? Or alternatively ignore signing for localization exports?
Replies
3
Boosts
0
Views
2.0k
Activity
Jan ’23
MeasurementFormatter provides a string formatted in `g/L` when passed in a `Measurement` with unit `.milligramsPerDeciliter`
The MeasurementFormatter provides a string formatted in g/L when passed in a Measurement with unit .milligramsPerDeciliter. See example below. The same behavior happens for all unitStyles (.short, .medium, .long) and for .millimolesPerLiter. let formatter = MeasurementFormatter() formatter.unitStyle = .medium formatter.unitOptions = .providedUnit let concentrationMass = Measurement(value: 200, unit: UnitConcentrationMass.milligramsPerDeciliter) print(formatter.string(from: concentrationMass)) // Results in "2 g/L". Expected "200 mg/dL". Submitted bug with Feedback ID: 11934871
Replies
1
Boosts
1
Views
780
Activity
Jan ’23
iOS16 Date format does not update when setLocalizedDateFormatFromTemplate is used
Hi, With iOS16, we have a new setting named Date Format in Language&Region menu. When I use setLocalizedDateFormatFromTemplate to format my date, changing Date Format setting does not update the format of my date. This is my code to format my date: let formatter = DateFormatter() formatter.setLocalizedDateFormatFromTemplate("ddMMyyyy") formatter.calendar = .autoupdatingCurrent formatter.locale = .autoupdatingCurrent formatter.timeZone = .autoupdatingCurrent let myText = formatter.string(from: Date()) I provided this template as an example. I have other templates like "dMMMMyyyy" or "dMMMM" and none of them gets updated when date format setting is changed.
Replies
4
Boosts
1
Views
1.6k
Activity
Jan ’23
Odd behaviour from RelativeDateTimeFormatter
I should preface my question by saying I love this formatter and the edge cases it handles for us, but I've found a case that seems odd to me. (all times are in the same time zone. let's go with Pacific) current time is 3:05pm, December 21 comparison time formatter output dec 20 @ 3:15pm 23 hours ago (great!) dec 20 @ 2:15pm yesterday (also great!) dec 19 @ 3:15pm yesterday (wait, wut?!) If today is Dec 21, shouldn't yesterday be limited to Dec 20 00:00:00 - 23:59:59? I see three options: I'm using RelativeDateTimeFormatter incorrectly I'm misunderstanding the sematics of 'yesterday' ( is it correct to refer to 47 hours ago as yesterday?) RelativeDateTimeFormatter is misbehaving all thoughts on this are welcome.foun here is some playground code demonstrating this behaviour let relativeDateFormatter: RelativeDateTimeFormatter = {     let formatter = RelativeDateTimeFormatter()     formatter.dateTimeStyle = .named     return formatter }() func startDate(from dateText: String) -> Date {     let formatter = DateFormatter()     formatter.locale = Locale(identifier: "en_US_POSIX")     formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"     formatter.timeZone = .current     return formatter.date(from: dateText)! } let myNow = startDate(from: "2022-12-21T23:05:00Z") let almostTwoDaysAgo = myNow.addingTimeInterval(-(48 * 3600 - 600)) let relText = relativeDateFormatter.localizedString(for: almostTwoDaysAgo, relativeTo: myNow)
Replies
3
Boosts
0
Views
1.2k
Activity
Dec ’22
iOS16 numeric Date.FormatStyle.DateStyle does not update when date format changes
With iOS16, we have a new setting in the Language&Region settings menu that we can change the short format of the date. I have a text and to format it, when I use the old DateFormatter API with short dateStyle, after I change the date format in the settings menu, my text gets updated. However when I use the new iOS15 API with numerical DateStyle, it does not get updated. Here's the code. This one is the one working:(Old API): let formatter = DateFormatter() formatter.dateStyle = .short formatter.timeStyle = .none let myText = formatter.string(from: Date.now) This is the new API and it does not get updated when I change the date format in Languge&Region settings menu: let myText = Date.now.formatted(date: .numeric, time: .omitted)
Replies
2
Boosts
0
Views
1.4k
Activity
Dec ’22
xCode localization export failed for shared framework with multiple destinations
When exporting localization in xCode for a shared framework, the localization build fails with the error "Could not choose a single platform from the supported platforms iphoneos, iphonesimulator, watchos, watchsimulator of target" Note that the shared target has multiple supported destinations = iPhone/iPad/Apple Watch.
Replies
3
Boosts
0
Views
1.7k
Activity
Nov ’22
Why can't users find my app in the app store of canada?
My app has been live quite some time in the apple App Store. It has been installed by people from multiple countries. Today I got a report from a Canadian client that she could not find my app in the store. She was able to install it through a direct link to the app that was provided on my website though. To diagnose the problem I used a website to search for my app in certain "regions" of the app store, and I noticed I could find my app on the US app store, the Australian app store and the UK app store, but not on the Canadian one. US store - Correct result: https://fnd.io/#/us/search?mediaType=all&term=bookabooka Australian store - Correct result: https://fnd.io/#/au/search?mediaType=all&term=bookabooka British store - Correct result: https://fnd.io/#/gb/search?mediaType=all&term=bookabooka Canadian store - No result: https://fnd.io/#/ca/search?mediaType=all&term=bookabooka I double checked my appstoreconnect settings, and Canada is enabled as a target country / region so it should appear there as well. I went through the other settings of appstoreconnect, and found out that I had ONLY provided the localization for the app info in English (UK). There is a separate localization option for Canada, the U.S and Australia: English (Canada) English (U.S.) English (Australia) But since the app is visible on the U.S. and Australian versions of the app store this is probably not the reason. Any other ideas what could be causing this?
Replies
2
Boosts
0
Views
1.7k
Activity
Oct ’22
WeatherKit conditionCode - sleet
One of the possible values of the forecast property conditionCode is sleet. But according to wikipedia this term refers to multiple, quite different weather phenomena. Some harmless and other potentially hazardous. What type of weather does sleet refer to in the weatherKit API?
Replies
5
Boosts
0
Views
2.0k
Activity
Oct ’22
iOS: Date formatter with "ar_AE" language code not converting date to Arabic
When I try to convert date to Arabic language with below code & ar_AE language code, it does not work. let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.locale = Locale.init(identifier: "ar_AE") lblDate.text = dateFormatter.string(from: Date()) when we change the language code to _ar_OM_ or ar_SD or any other Arabic countries it works in iOS. let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.locale = Locale.init(identifier: "ar_OM") lblDate.text = dateFormatter.string(from: Date()) Tested on iOS 15.5 & 13.3, there is nothing related to iOS version. Request someone to help me to understand the reason why "ar_AE" code is not working while if I provide identifier "ar" it works perfectly & that would be great help if we can resolve this.
Replies
1
Boosts
1
Views
1.8k
Activity
Sep ’22
Not getting thousand separator when the locale is changed.
Not getting thousand separator when the locale is changed. eg: Not getting 8.820 TRY(dot as thousand separator) when locale is changed to "tr-tr" or any other locale.
Replies
1
Boosts
0
Views
1.4k
Activity
Aug ’22
Canadian Users Can't Open My App
All but one of my app users are operating in the USA and are using it with no problems. I have one customer in Canada, with four users. They have had problems using the app from the start. However in the last month it will not open for them at all. While they can download the app from the Apple Store to attempt to reinstall, it will not open. Has something changed in the past few months that would cause this to happen?
Replies
1
Boosts
0
Views
785
Activity
Jul ’22
SF arabic font
when I'm trying to use SF Arabic on adobe XD I found that the letters which have dots are damaged especially when I change the thickness of the font which makes it impossible to use the font, how can I resolve this issue? also when I use the compressed and the extended font in SF pro how can I find the equalizing in SF Arabic?
Replies
2
Boosts
1
Views
1.9k
Activity
Jun ’22
DatePicker Objective-C mirrors day numbers
DatePicker error is displayed when the locale supports RTL view. When I change the DatePicker style to inline style and change the default localization to ar (Arabic), the DatePicker shows number mirrors, after scrolling between months the display changes to the correct display but the day names are not associated with the day's numbers.
Replies
1
Boosts
0
Views
1.3k
Activity
Jun ’22
Custom Keayboard layout icon lot loaded as Template Image in Monterey 12.4
I created a custom keyboard layout with the app Ukelele, based on a built-in layout and thus using the original icon. However, the icon is not loaded as a template image in the Menu Bar. The result is that when a darker background image is used (or a dynamic background turns darker), the black part of the icon does not switch to white and all I see is a black square with the letters of the keyboard layout not readable: This was fine until 12.3 when flags were used as icons instead. Is this a bug and is there a way to workaround this?
Replies
2
Boosts
0
Views
1.7k
Activity
Jun ’22
Resubmit app after adding new country?
Do I need to resubmit my app to the App Store if all I want to do is add an additional country to make it available in? Or can I just add the country on the Pricing and Availability page and save the update to make it available right then?
Replies
3
Boosts
0
Views
2.3k
Activity
Jun ’22
Country availability applies to updates?
If i remove a country from my app's availability list, will users in that country that already had my app installed receive updates and see the update available in the appstore?
Replies
1
Boosts
0
Views
1.5k
Activity
Jun ’22
Offering subscription for specific countries
We are currently offering a standard subscription tier in all of our supported countries. We want to offer a premium subscription only in the US & Canada. Is it possible to enable this plan/tier only for certain countries?
Replies
2
Boosts
0
Views
1.7k
Activity
May ’22
Language for UITextChecker.rangeOfMisspelledWord(in:range:startingAt:wrap:language:)
Language of UITextChecker.rangeOfMisspelledWord() may be language (en) or language+region (en_JP, en_US, ...). What is difference in results for these two languages?  For example, we have three misspelled words: “misspell_en” - misspelled in all english regions. “misspell_en_US” - misspelled in US region but correct in all other regions. “misspell_en_GB” - misspelled in GB region but correct in all other regions. It seems if we pass to rangeOfMisspelledWord() language = “en_US”, result will be [“misspell_en”, “misspell_en_US”] because only these two words are misspelled in US region. Correct?  What will be result of rangeOfMisspelledWord() if we pass language without region - language = “en”? All words will be returned as misspelled because each word is misspelled at least in one of the “en” regions? Or only “word_en” because other two words are correct at least in one of the “en” regions?
Replies
0
Boosts
0
Views
654
Activity
May ’22