I have provided support for two languages, English and Chinese, in my iPhone application. I use string files for the languages using "key"-"value" pairs and my application displays the appropriate language using NSLocalizedString(#"Fund red not red?", #"").
I get only Chinese text when I run the app in XCode. How can I switch to different languages in XCode (iPhone simulator)?
go to settings on the simulated iPhone and change the locale
Related
Is there a way to support "Latin" Spanish and "Castilian" Spanish in the same app? And if there is, how do you test it?
I'm currently supporting several languages, and I have all the language files in the app, but I can't seem to get the language to switch in the simulator or on a device by changing the region.
Thanks for the help!
Just in case someone comes across this post, I found that iOS only supports one version of Spanish. The list is found in the international language settings on each device and the region controls the display of time and dates.
My iOS application is available in both English and Arabic Language. The language selection is within the application. While uploading the application I mentioned only English language as my localization option. Also added few arabic keywords in keywords area (e.g. EngKeyWord1, EngKeyWord2, ArabicKeyWord1). But the app is not searchable using Arabic keywords.
Am I doing things right? Is there a different way of doing this?
[Arabic as a language option is not available in iTunes Metadata section. But there are other apps which are searchable using Arabic keywords!]
iTunes Connect only allows you to add metadata for the languages in which your application itself is localized. Since you did not localize the app in the normal way (i.e. you implemented an in-app language selector instead of relying on the standard localization method which depends on the iOS language setting), maybe you did not explicitly add Arabic to your application in XCode?
You can do this in XCode by selecting your project, opening the Info tab and using the "+" button under Localizations and choosing Arabic. Then you'll have to upload the binary before iTunes Connect allows you to enter Arabic metadata.
Edit: This is out of date. iTunes Connect now lets you add metadata for languages beyond those your application bundle is localized into.
I'm developing an app of Chinese.
I have to tell the artist the font name to design images, so what's the real name of "System Font"?
Heiti SC (STHeitiSC-Light, STHeitiSC-Medium) for simplified chinese and Heiti TC (STHeitiTC-Light, STHeitiTC-Medium) for traditional chinese
Actually you can tell the artist to use whatever fonts he want, you can embed it in your app with the appropriate license
[Edit] Starting from iOS 9
For Hong Kong:
PingFangHK-Ultralight
PingFangHK-Thin
PingFangHK-Light
PingFangHK-Regular
PingFangHK-Medium
PingFangHK-Semibold
For Trad Chinese:
PingFangTC-Ultralight
PingFangTC-Thin
PingFangTC-Light
PingFangTC-Regular
PingFangTC-Medium
PingFangTC-Semibold
For Sim. Chinese:
PingFangSC-Ultralight
PingFangSC-Thin
PingFangSC-Light
PingFangSC-Regular
PingFangSC-Medium
PingFangSC-Semibold
I have internationalized word learning apps in 8 languages, for 8 languages, on iOS, which grew out of my own need for a tool to learn Chinese characters. I now have a "bi-lingual picture book" (using UIpageViewController) that shows any combination of two languages, using the phone's language as default.
I have settled on using the "system font" on iOS as others gave me warnings and errors during compile -- but now that I am building the picture book in xocde 4.5.2, i think i will try again and use Heiti SC for Chinese.
The "system font" is pretty ugly in Chinese; Heiti SC is great for simplified. But when i switch my iOS devices to "Chinese" as the default / system language, the font remains the same as the ugly one i get (for CHinese) in English.
I have not heard that the default System font is different on devices sold by country of origin; so if you want Heiti SC in your app, it seems you will need to designate it.
I could attach screen shots, but you can just switch your device's international settings-> language to Chinese to see.
I believe that it's Simplified Chinese.
I'm trying to use Arabic description and metadata for my app. In iTunes connect it states that these data must be in English, so I did put them in English. Then i found the localization feature but found it doesn't support Arabic language.
However I found many apps that use Arabic in their names, meta data and description in the Saudi Arabia app store. I wonder how to do that?
They just put their arabic description under 'English'. ITC says that it has to be in English, but I have 2 applications in the App Store with all the information in Polish.
Just put this info in Arabic, Apple will not reject your app because of that.
Unfortunately, Apple keeps a weirdly different list of languages for the App Store and for the iOS app itself. You can localize your app into Arabic, but the iTunes description cannot be. The best method is to paste it into the English description and use it for all languages.
You can see a complete language list for iOS and the App Store, which explains which languages are available on each, here:
http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html
Arabic is the last on that list, marked as Yes for iOS, and No for App Store.
The Arabic language has been added to App Store Connect.
The answers works great, but what if my app is bilingual (english, arabic), what do you think is the best thing to do? I think the best solution is to set the arabic language instead of any other language except for english, and set it as a primary language.
I have implemented language change after restarting my app but my question is can I change my application language without restarting/closing it?
Any idea how to achieve this?
You can achieve this using the base functionalities of iOS, i.e. localization. What you can do is localizing your app in different languages, and let the iOS itself chose the right language to display when the application starts.
This way, if a user uses the iDevice in English, he/she will see your app in English (if you supported it as a localized language), if he/she uses the iDevice in French, he/she will see your app in French (again, if supported).
The official Apple page about Internationalization and Localization (also called i18n and l10n), can be of great help.