Wrong language in Game Center Leaderboards/Achievements - ios

The device language is Italian, when I open the Game Center from my app the titles "leaderboard" "achievement" are in Italian but the names and description of leaderboards and achievements are in English!!
I use this code to show it :
GameKitHelper *gkHelper = [GameKitHelper sharedGameKitHelper];
[gkHelper showLeaderboard];
If I open the Game Center directly from the app Game Center is everything in Italian.

Your app should follow the language settings that are set at a device level, not at an app level. You cant force game/app kit into another language, the user needs to change their language in the settings.

It seems that a running app caches the localised Leaderboard titles. If you leave the app running and switch languages, when you return to the app, the Leaderboard view uses the previous language's titles. I have 4 languages in my app so I noticed the pattern fairly quickly.
Sadly very few developers have bothered with translations of the Leaderboards. So the only app I could find was Zen Pinball for iPad, it confirmed this behaviour. I think this is an iOS bug but I'm not going to work around this as very few users would be inconvenienced.

Related

How to preview iOS app information before release

There were some problems regarding showing the languages on iTunes for our app. It was showing only English, but we added support for Spanish, French, German. We have fixed the issue by adding language projects through XCode, but right now we want to preview how the app information would look without submitting the new version finally. How to preview this data?
Attached is a screenshot from another app to indicate what information we are trying to see.
I think it depends on the region/country of your App Store. You should change to Spanish, German, and French for checking.
Check more information from the link

Display system UI in specified language in iOS App

We have an iOS App that supports only English-language UI. When we run it on a device set to a different Language/Region (e.g. fr-CA), system UIs appear in the device language, not in English. Our preference would be to have all UI displayed "inside" the App appear in English.
To experiment, I created a single-view project that only does two things: request permission for notifications and show a MapKit map view, the two things we're most concerned with. I've tried the following, none of which appears to have the desired effect:
No localizations whatsoever (i.e. default when creating a new Xcode iOS project)
Added explicit "English - Development Language" localizaton (i.e. CFBundleLocalizations) and no other localizations
Tried setting the "AppleLanguages" in UserDefaults early in the App lifecycle (tried this in the AppDelegate and in a custom main.swift, similar to the solutions described in Setting "AppleLanguages" doesn't change app language)
let defaults = UserDefaults.standard
defaults.set(["en-CA"], forKey: "AppleLanguages")
defaults.synchronize()
Posts on the Apple Developer forums that suggest changing localization on the fly can/should not be attempted (e.g. https://forums.developer.apple.com/thread/85549, https://forums.developer.apple.com/message/36704#36704) but that's not exactly what we're going for. We don't want to change on the fly (e.g. in response to a language option inside our app), but rather just have all UIs, whether ours or from the system/frameworks appear only in English.
Is there some way to inform the system that the app is running in a specified localization that we've just overlooked?

Remove AppPreview on iTunes for specific language

I have in my application a video as an App Preview of my application. I have my game localized with up to 10 languages.
The thing is, I don't want to show this AppPreview in French and Italian, but I can't find any way to filter this, looks like it is shared for all languages.
Do you know if it's possible?
It's not possible to have different "versions" of your App Preview, i.e. you cannot even delete it for specific languages. What Linus is referring to only concerns screenshots.
An app preview demonstrates the features, functionality, and user
interface of your app or game in a short video that users can watch
right on the App Store. Each preview is between 15 and 30 seconds long
and appears in all countries or regions where your app is available.
For details on capturing app footage, see Creating Videos for App
Previews.
Source: https://developer.apple.com/app-store/app-previews/
In-depth properties: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Appendices/Properties.html#//apple_ref/doc/uid/TP40011225-CH26-SW10

How can i change the app settings language based on selected app language in ios.?

My app supports 7 language. when the user selects from the choice i will restart the app so that app changes to the selected language. But i need the app settings such as settings bundle to be updates as per the app language.I can able to localise the settings based on device language but not on selected app language.
The answer might be a hard NO for it. Inter-App communication doesn't let you localize the native apps.
App is localized to spanish but device is set to english then
If your app is showcasing address then book english is shown.
If the app is using camera then english is shown (unlesss you create
custom camera interface)
If app is triggering social framework like Facebook,twitter etc they
also shown in english.
Here in your case the Settings screen can be localized just in the same way that info plist localizes, but screen will localized only when the device is set to that language. http://useyourloaf.com/blog/localizing-iphone-app-settings-strings/

gamecenter dialog language doesn't get localized

I change the language of my device something different than English, but GameCenter dialogs still appear in English. I mean:
Sign in to Game Center
Use Existing Account
Create New Account
Cancel
Welcome back xxx!
etc...
Game Center app works perfectly in localized device language, but dialogs in my app is still in English.
I suppose those messages and menu texts should appear in device language? Am I wrong?
I can't find anything on Apple refs about this.
Is this happening beacuse I am in sandbox mode?
Or do I need to set GC language in the project?
I tried restarting device.
At last i found it. My assumption is wrong in the first place.
Gamecenter messages and menus are not affected by the device language but, by the xib's localization.
I just edited the xib file's folder which is localized in english by default.
renamed en.lproj >> xx.lproj (here xx is the local language code)
and readded files to the project.
All gamecenter messages and menus are in local language now.

Resources