Original link: http://www.cocoachina.com/appstore/20160310/15632.html
Objective
There are many ways to set the name of the app, and if you don't make changes when the app is packaged, the name of the app will be the name of Xcode when you set up the project. The good habit is to use English (pinyin) when the project is built, then the app is the name of "English", although Xcode also supports naming projects directly in Chinese (even the method name ...). ), but sometimes it can cause some unnecessary trouble and even inexplicable bugs.
This article mainly introduces two methods of setting the name of the app, the first one is simpler, the second involves the simple version internationalization and localization (Localization) problem. The author of the two methods of cognition is also relatively basic, if there is inappropriate, but also look treatise.
1.Bundle Display Name
Let's look at the specific setup steps for this method:
There is not much to say, when retrieving app name settings, most of the answers are also this, because it's easier.
Mention the bundle name and bundle display name here:
Bundle Name-is folder name, where your app (including executable file and all resources) would be stored (Cool Program.ap P). We recommend that you do not modify the bundle name
Bundle display Name-is What would be is shown on the iphone screen, that is, when you install the app to the name displayed on the iphone.
Note: Bundle display name must correspond to bundle name, that is, bundle display name and bundle name cannot be too far apart. For example, the bundle name is set to Theapplication, and the bundle display name is set to "gold * * * * * * * * * * *", Apple will reject your app.
2.infoplist.strings->cfbundledisplayname
This method is cumbersome, but can support the multi-language version of the name of the settings, that is, localization, but also see the specific steps:
Click Project-project-info-localizations, add Simplified Chinese support, if you want to support traditional, you can continue to add, as well as other languages.
can choose to support English
"Cfbundledisplayname" = "Chinese name";
"Cfbundledisplayname" = "englishname";
Name string yourself fill it out just a demonstration here
You may need to add the application has localized display name key in the Plist file, set to Yes
Switch the language in the simulator settings to the Chinese and English modes, respectively, to see the changes in the names below APPIOCN:
3. Settings for the default language: Localization native development Region
When Xcode builds the project, the default locale is English, so when some system space is called (such as a camera album), the caption of the control key is displayed in English, and the quick setting is to set the value of localization native development region. Refer to this article for specific steps: Localization native development Region change the first paragraph in the language is invalid.
4. localizations version Internationalization
This is to let the app support multi-lingual environment, the best demo should be the official demo of the Ring letter, here is just a brief introduction to the use:
Same as adding infoplist.strings, add a localizable.strings file
For Chinese and English (other languages to add themselves), add the following statements, respectively:
"Alerttitle"="title";"Alertmessage"="Information";"Alertok"="Confirm";"Alertother"="other"; "Alerttitle"="title";"Alertmessage"="message";"Alertok"="Confirm";"Alertother"=" Other";
Regarding the above key and value, just the demonstration, can be defined by themselves, call these key-value need to use Nslocalizedstring (< #key #>, < #comment #>) system macros, For example: nslocalizedstring (@ "Alerttitle", @ "This is an annotation, according to the case"), the first parameter is a custom key in the strings file, depending on the locale, The system will automatically detect the value of this key (Chinese or English), the second parameter is a comment, for the sake of understanding, can be nil.
Actual Use cases:
- (void) Createalertviewwithtitle: (NSString *) title message: (NSString *) messageDelegate:(ID)DelegateCancel: (NSString *) Cancel Andother: (NSString *) Other {Uialertview* Alert = [[Uialertview alloc] Initwithtitle:title message:messageDelegate:DelegateCancelbuttontitle:cancel Otherbuttontitles:other, nil]; [Alert show]; } //called[Self createalertviewwithtitle:nslocalizedstring (@"Alerttitle",@"This is an annotation, according to the situation") Message:nslocalizedstring (@"Alertmessage",@"")Delegate: Nil cancel:nslocalizedstring (@"Alertok", nil) andother:nslocalizedstring (@"Alertother", nil)];
Set the language environment of the system to the Chinese and English mode respectively, the effect is as follows:
The above wording seems to be more cumbersome than the habit of writing string to set the title, but commonly used titles can be two times macro definition management, so not only easy to use, but also convenient for unified management.
Take a look at the demonstration in the Ring letter demo:
This article simply introduces the relevant usage, as for the detailed description, you can refer to the article at the end of the reference article, there are a lot of good detailed handouts.
Reference article:
Localization native Development Region change language is invalid
How to set the default language in iOS
Xcode 6 about the internationalization of IOS apps
iOS learning iOS program name and content internationalization (localization)
How do I change the app name of a completed project?
How to modify the project name of the iOS app
iOS Modify app Name
IOS Xcode How to modify the name of an app
How can I change the name of the app display?
Bundle name and bundle Display name
iOS app internationalization tutorial (version 2014)
IOS: Setting up internationalization and localization of apps