I have a new App to launch in the near future. The App is going to have different versions for different Territory's App Store, in sense of UI language and part of App content.
My question is whether I can create different Apps (different bundle IDs and different App's iTunes' Application Name) but with the same App bundle name.
I am doing this because If I include all the UI images for all the languages in one binary and control the language change with code, the App size will be over 20 MG, which I don't want. So, I am deciding to create, compile and submit different binaries separately, at the same time, setting their available App store through "Rights and Pricing" and select certain countries for each version.
I will ensure that two versions of my app won't appear in the same App store to confuse users.
Is this possible? Has anyone done this before?
Thanks
I built an app with localised content that for the same reasons as you had a European version (localised for French, German, Spanish), a Japanese version a "Rest of the World" version (English only).
We created a targets per version, each one having its own plist with a different bundle id, and for the iTunes application name we used XYZ EU, XYZ Japan, and XYZ (for the English version). The EU version was available in the Spanish, French, German and South American stores, the Japanese in the Japanese store, and the ROW version in all the rest. So this sounds pretty much the same as your set up.
To answer your question, we used the same bundle display name for all 3 targets, without any problem.
You should just create multiple targets for the same project.
,
You'll need to create a plist for each target and set the correct bundle name in there, but apart from that they all use the same code. You set the plist name in the build settings for your target.
When you create a new target, Xcode will create a new scheme for your target, so just switch between schemes to build the appropriate target.
Related
I added support for multiple languages for a react native project using i18nJs. Since we are handling the localization manually, I added the language keys to CFBundleLocalizations. However, upon the release of the app, iTunes is not showing the languages specified in CFBundleLocalizations. It's showing only English.
Go to the Project > Info tab, under Localization add one entry for each language the app supports. This will create one folder for each, e.g. es.lproj, fr.lproj etc. In itunes the localization's will be recognized.
Update:
Change the content of localized files, to do the same follow this link here https://hackernoon.com/localize-an-application-name-in-react-native-c36c4b2be7c3
I localised my app via iTunesConnect but it does not show up in App Store. The primary language of my app is English.
When I go to Japanese App Store my app's description is still showing English while other apps show localised language.
In iTunesConnect, after I added a new version, I select Japanese on the top right, typed in Japanese app description, keywords and screenshots.
I also made sure that my phone language is Japanese.
What am I doing wrong?
This is a tricky one. It is not enough to just add localized description on AppStoreConnect. Apple shows Languages in this section according to the files localized in your app in Xcode.
Facebook example
Easy way to do this is to change "Localization native development region" field in Info.plist file:
Changing development region
IMPORTANT NOTICE: However, this solution is enough only if you don't localize any other files (solution for this is bellow, you must do some extra steps).
You need to open Xcode, select your project in files structure, select Project (not targets) and add the languages you want to be shown there (in your case Japanese). On the following image there are a couple of languages (don't check the "Use base internationalization" checkmark):
Localizations languages
IMPORTANT NOTICE: You must localize at least one file in your target in order to have this information about languages shown on the AppStore (as you are doing this on per target basis, you can have different languages shown for each target, good for white label apps). I usually localize LaunchScreen.storyboard as you usually don't have any text here.
In order to localize storyboard, you need to tap on it and in the right menu tap "Localize..." button:
Localize button
After that, just check the languages you want it to be localized to (in my example German.
Localized storyboard languages list
You may want to check again tomorrow. I found in the past that updates to international app store pages may take up to 24 hour to propagate.
I have committed some kinda mistake in uploading an iOS app, which makes my app show the languages as English and German on AppStore.
The scenario is that I have set the "Localization native development region" key in (info.plist of target) to Germany, while my app is actually an English app(for all territories). But I am not confirmed that changing this key to US, can change the Appstore language of the app to only to English.
Besides this, I have also set the language in Localizations in the( info of Project) to:
1. English - Development Language
2. German
What changes should I do in the settings so that on releasing the app it will show the languages on App Store as only English?
After doing an experiment with uploading an application to app store, I came to know that for the languages of the application we need some settings changes in the info.plist of the project(remember not the target).
For eg. For Multilingual(English and German both) apps. It should
show only these two languages in the App Store. Otherwise the user might get irritated after downloading the app when he see the content is in single language.
Just go in the localization as shown in screenshot above and click on + to add
a language and - to remove the language.
Also this localisation language setting creates a folder named "de.Iproj" or "en.Iproj" for respective languages. That folder must also be removed from the build if the corresponding language localization does not exist
I've already read a lot of answers on Stackoverflow on the topic but I've not found the right answer.
I'm working on an App that has 2 targets and for these targets I have different localizations.
Target A has English, French and Italian
Target B has English, Japanese and Spanish
So the Project is localized for all the languages but I've removed the useless langs file and folders for the targets. For example, I've removed folder jp.lproj and es.lproj from Target A and folders fr.lproj and it.lproj from Target B (previously I've deselected the target membership for files that are not needed for a specific target).
What does define the Languages information stated in the App description on the App Store? Is this information automatically taken from the project info? If this is the case it will appear that my 2 targets support all the languages: en, it, es, fr, jp :(
I saw that from iTunesConnect I can manually set the localizations now... is this the element taken into account to define which languages to show on the App Store?
All information on the App Store (in your case metadata/app description) is handled via iTunes Connect. What "version" or rather language gets shown, depends on the user's language and country settings.
Information that is localizable must be changed for each localization
individually by selecting the language from the dropdown.
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ChangingAppMetadata.html#//apple_ref/doc/uid/TP40011225-CH3-SW46
Is it possible to re-release an existing iOS app with a different title?
The app supports multiple languages, but only has an English title in the app store. My thinking, which could very likely be wayward, is that my potential Russian/Indian/Chinese/French audiences have no visibility of it.
Doesn't sound like something Apple would support, but thought I'd ask anyway.
If in the slim chance it is do-able, what would I need in the way of bundle id's/prov profiles/dist certificates? One of each per app?
thanks in advance.
Yes you can - just localise the value of CFBundleDisplayName:
Open your project in Xcode
Make sure the Project Navigator is in view (View > Navigators > Show Project Navigators, or CMD+1)
Make sure the File Inspector is in view (View > Utilities > Show File Inspector, or OPT+CMD+1)
Select InfoPlist.strings in the Project Navigator
In the File Inspector, under Localization click the + button and add the language you want to translate into (e.g. French)
In the Project Navigator, expand the disclosure triangle that now appears next to InfoPlist.strings and select InfoPlist.string (French)
Add the following line:
CFBundleDisplayName = "Translated app name here";
As #runmad has suggested, you can also provide localised marketing content in iTunes Connect, including a localised app name. This is not obligatory, although it does make sense. Note however that iTunes Connect only supports a small set of languages. The languages currently support for localisation in iTunes Connect at listed in Apple's iTunes Connect Developer Guide (PDF). As of the current version of that document (7.4) the languages supported are:
Australian English
Brazilian Portuguese
Canadian English
Dutch
English
French
French Canadian
German
Italian
Japanese
Korean
Latin American Spanish
Portuguese
Russian
Simplified Chinese
Spanish
Swedish
UK English
If you want to localise the app name to a language outside that list (let's say, Hungarian) you can do that just fine using the process outlined above in Xcode, and the name you provide in Xcode is the name that a Hungarian user will see when they install your app on their device, but in the Hungarian App Store the app will be listed under (I assume) its English name.
Yes it is. You'll need to localize the app in iTunes Connect for all the countries, including app name and description.
Finally you will also need to localize your app's bundle ID.