Post not yet marked as solved
I would like to replace my use of DateFormatter with the new date.formatted(_) API but am having some difficulty.
For the context of the app in question, it is desirable to use twenty-four hour time regardless of what the user's personal settings are. I have code to do this below:
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.autoupdatingCurrent
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .none
dateFormatter.dateFormat = "\(dateFormatter.dateFormat!) HH:mm:ss"
return dateFormatter.string(from: date)
Is there a way to do this using the new API or do I need to continue using the old way?
Post not yet marked as solved
Hi,
Our situation is as follows: We have a Dutch app(Also one product page - Localization: Dutch) that can be downloaded by anyone in any country. The current app has a unique name and can be found and downloaded in every country.
Now we want to change the app name but we see that the name we want to use has already been taken up by some languages/regions.
What happens if people search for our new app name in a certain region/language, but the name has already been claimed in that region/country. Can our customers find our app? I am therefore curious about the behavior that arises when someone searches for our new app name that is already taken in a certain region
Kind regerds,
Post not yet marked as solved
According to the docs, the preferredLocalizations property of a Bundle returns:
An array of NSString objects containing language IDs for localizations in the bundle. The strings are ordered according to the user's language preferences and available localizations.
However, I have played around with different scenarios and setups, and I can't get the preferredLocalizations array to include more than one element. I have tried a combination of
Adding multiple localizations to my app
Adding multiple preferred languages to my phone (via Settings).
But it always return a single-element array.
This makes me ask the following questions:
Is it really possible that preferredLocalizations could return more than one element?
If so, can you give me a sample setup to make that happen?
Post not yet marked as solved
Ok, so I understand the high-level reason Base Localization is used in an app, the problem it solves, and the ultimate goal it's trying to achieve.
But I don't understand the real meaning of the concept of "Base". What is it exactly? I've got several questions
Question 1: Is it called Base Localization? Base Internationalization? Just "Base"? Are all these synonyms? I will use the term "Base Localization" for the remainder of this question.
Question 2: Yes/No Question: Is Base Localization really a localization?
If the answer is YES:
Question 2.1: Then why does this answer say that it's not? Is the answer right or wrong ? (That forum contains very good explanations, but I want to be strict with the meaning of "Base")
Question 2.2: See the images below. Why does it get grouped with other 'real' languages (Spanish, French...)? In which country is the "Base" language spoken? (I know that's an ironical question, but it's to make my point clear).
If the answer is NO:
Question 2.3: If I create a new app from scratch in Xcode, why does Base get printed when I do the following?
print(Bundle.main.localizations) // Base gets printed..so that implies it's a localization, just like Spanish or French
Question 2.4. Basically, the opposite of question 2.2. If it's NOT a localization, then why does it get listed under the "Localization" section of the Info Tab of the project settings?
Question 3: I've seen the term "Base language" used around in several docs. What's the difference between "Development Language" and "Base Language"? Are these synonyms? Could it be possible that they be different?
Question 4. Is there a situation where Base localization shouldn't be used in an app? (That is, leave the option unchecked in the Info Tab of Project settings). The only situation I can think of is when you build programmatically your UI layouts. But even if you do that, there's no harm in leaving the option checked. Or is there?
Question 4.1 If there isn't any harm, then why even give the option? Just set it to true always internally (and don't even expose the concept of "Base" to the end-developers).
This isn't a specific question. There's no particular problem I'm trying to solve. I just want to understand what "Base" truly means and clear some fuzziness around that concept.
Post not yet marked as solved
How to change app distribution methods to public not private
Post not yet marked as solved
My app is published and I can search it in Pakistan on my iPhone but users from the USA are unable to search my app on AppStore. I have made my app available for all countries.
Post not yet marked as solved
I followed the advice from one of the latest WWDC videos on how to handle localization and in my app I launch Settings of my app when the user wants to change the app language (not system language).
The user can then select one of the available languages that my app is localized for.
The localization part works well, but sometimes it happens that when I click the < My app button in the leading, top corner or just navigate back to my app, I encounter a frozen screen and then the app just quits and restarts after 2-3 seconds.
I don't need to preserve any state when the user changes the language, but I would certainly like to prevent this freeze from happening. The desired behaviour would be that the app restarts once the use changes the app language.
I use SwiftUI as the UI framework.
I use the following code to open the Settings of my app for the user:
UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)
How can I achieve that?
Post not yet marked as solved
I have my app localized for many languages, but I'd like to limit the available app languages to only a subset of those, because the content is not ready for all of them.
I don't want to delete localization files, because they contain some useful translations that I will use in the future.
The only thing I was able to find and try out is this piece of code:
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
UserDefaults.standard.set(["Base", "pl", "de", "ru"], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
return true
}
}
but unfortunately it does not work. When I launch Settings of my app, I can still choose from about 20-30 languages that I have already some translations for.
Post not yet marked as solved
Hi everyone,
Currently it is not possible to activate an app explicitly for Liechtenstein in App Store Connect.
Is the country enabled via another country/region?
Or have I overlooked something?
Post not yet marked as solved
I have a in-house framework that I share between the main app and the widget.
The framework contains some localized strings.
These strings show up in correct language in the main app but on the widget they only show up in English.
I'm guessing the localized strings from the framework are not getting bundled in the widget extension.
Anybody with the same problem?
Post not yet marked as solved
We would like to launch our app in the US, it's currently live in the UK only. For us this means we want it also to be available in the US app store and for US people who sign up to our programme to be able to view US related content within the app.
I've been unable to easily find any documentation about how to go about this, how submission would change/be different if so, what changes we would need to make, app store nuances etc. I am not the person who deals with the submissions, app store connect etc but I run one of the scrum teams dealing with this launch.
Is there an article or a checklist about this?