iOS 9 App localization - ios

I'm working on a "cook book" app that has multiple (language) versions.
Apple says I can't upload multiple apps that are almost the same, so how can I achieve what is mentioned below in single app release ?
multiple languages (possible)
multiple logos (possible)
different "config" file for each language - e.g. file with API URLs
Each language version "separately" on App store so a user can download both english and spanish versions
My biggest problem is #4, it has to be possible that one can decide which language version he downloads.

You're most likely still looking at one app with multiple languages included in it, which are picked based on user local. If you want the user to decide which language they'd like after install, give them an option. Many apps do this already.

I think you can follow these steps to create the app you'd like to make.
Localize your application. (This tutorial might be useful.)
Add a language parameter to your API calls and return the data based on the language parameter. Thus you won't be displaying a content which is not available in that language.
For your 4th requirement if you'd like to use versioning on each language (I do not know why but if you must) then you can use the language paramter you'll add on API calls. Just create a releation between the languages and the versions you are using then display the views and contents based on the relation.

Related

Is it possible to handle support for multiple variations of the same language with BlackBerry API 7.x?

I'm working with BlackBerry API 7.1 on Eclipse and I want to know if it's possible to add localization for variations of the same language.
I'm working on an app that needs to be localized for 10 countries that speak Spanish, but every country uses different manners of speech.
The problem I'm seeing is that BlackBerry API 7.x's Locale class only has constants for Spain Spanish and Mexican Spanish. Does that mean localization for Spanish speaking countries such as Panama, Argentina, Colombia, etc. get a default localization as if it were Spain Spanish?
Also for this case where multiple variations of the same languages must be dealt with, how should I name the files? I tried adding locale_es-AR.rrc but the - is not admissible on Resource files names, but I don't know if locale_es_AR.rrc is the correct format.
I want to know before adding ten Resource files for these countries that may or may not be usable.
Is it possible what I'm looking for?
What you are trying is correct. Have a look at Localizing Your Files
This file must have the same name as the resource header file,
followed by an underscore (_) and the language code, and then,
optionally, by a single underscore (_) and a country code (for
example, AppName_en_GB.rrc).

What steps are needed to create a new iOS language without jailbreaking

I've a burning desire to create a new iOS language called "English(pirate)", in honor of International Speak Like A Pirate day.
The reason be simple, the FaceBook app looks at Settings->General->International->Language to decide how to localize. That scurvy Zuckerburg be ignorin' me options that I gave on his site.
Since just the language name is enough to trigger the FaceBook app to use pirate localization, I was thinking that I could just copy-and-rename English(US) to be English(pirate). But though I be a slashing outlaw programmer, I'll not void my warranty for such trivia, so no jailbreakin.
Be there an Apple Approved manner to create a new language on their iOS platform? A keg o' rum and a saucy wench to the best answer! (Or a small bounty if the TOC don't allow rum and wenches...)
https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html
If you choose to create a new designator, be sure to follow the rules found in sections 2.2.1 and 4.5 of BCP 47: Tags for Identifying Languages. Tags that do not follow these conventions are not guaranteed to work. When using subtags, ensure that the abbreviation stored by the user’s language settings matches the designator used by your .lproj directory exactly.
There's no Apple approved way to do it.

Quickly browse localized app store descriptions in other languages and/or countries?

As I am writing and translating localized app store descriptions for my app, I thought it would be handy to read other same-category apps' localized descriptions. However this has become more complicated than I had hoped (e.g., don't really want to change my Mac's language setting on top of my iTunes store country preference). Plus I have had limited success doing this on with OS X and iOS.
Can someone suggest a quick and easy way to look at app store descriptions in another language? I am sure I am missing something obvious here, for example currently I am poking around App Annie to see if it has archived localized descriptions.
Yes, there is a solution. You can use the urls that Apple provides and read the app description from there:
Head over to http://linkmaker.itunes.apple.com/ and you will see that there you can select a country.
For example, searching for "Twitter" in iOS apps and US you get (after removing the trailing url garbage):
https://itunes.apple.com/us/app/twitter/id333903271?mt=8
Now just change the country code. E.g., German and Italian:
https://itunes.apple.com/de/app/twitter/id333903271?mt=8
https://itunes.apple.com/it/app/twitter/id333903271?mt=8
The best way is to modify URL and view it in browser.
If you open an app using URL:
itunes.apple.com/app/APP_NAME/ID
(for example: https://itunes.apple.com/app/zuko-monsters/id545619234?mt=8)
you can just add country code after first part:
itunes.apple.com/de/app/APP_NAME/ID
itunes.apple.com/us/app/APP_NAME/ID
(for example: https://itunes.apple.com/de/app/zuko-monsters/id545619234?mt=8)

Blackberry AppWorld - Description language

I'm adding an application to AppWorld, and on the Description field I'm adding a spanish description (wich my application supports).
The thing is that our app it only supports english since is targeted for a local market. Unfortunately it still asks me for English details of it (like descriptions), so my question is.... is it mandatory to provide an English descriptions? Even tho our app doesn't support (or will) support any other language.
Thanks
Yes, you do need to include an English description, as it is mandatory regardless of the language the application runs in.
Why? Applications are not filtered by language like they can be by device model or OS. Since any device, regardless of language, can view or download the app, English is used as a default when a language-specific description doesn’t exist.
If your application is published in Spanish, I'd highly recommend to include a statement that explains fact in a brief English description, followed by a more detailed separate description of the application submitted in Spanish.

Best way to switch languages in the software or website?

I want to know the best programming technique to switch languages in the software or website. So anyone can give me some suggestions? Thanks!
There is no standard. But I used the following technique in websites.
Put all the visible strings (eg. "file", "menu", "contact us") in a file or database. It can be xml, json or any format that you easily parse later. Make sure all the data is saved in different directory/db tables according to locale/language.
Wrap all the strings with a function or static class method. Every time they are displayed they'll go through some processing.
When you first load the software or web determine the locale or language that user wants to use.
According to users choice select the string source. database, filepath etc. For e.g. if user want to see strings in en_GB locale, find strings in en_GB folder or in lang_en_GB table. Naming format is in your hand.
Now each time the function or static class method is called find strings in the source you selected on Step 4.
It depends on the language you are using. Many have built in support for it. In android for example what you do is store all strings into an xml file that is named based on the region. And the operating system will automatically use the appropriate resources based on the phones region.
Look into what support your language/platform includes. You will want to externalize all your string constants such as "Press the menu button" into an external file. Then just get this file translated to each language you want to support, and use the OS to automatically use the correct resource file. Or if the platform/OS does not support such a thing write some code to determine which resource file to use yourself.

Resources