Currently my app supports English & German localization and I've used Localizable.strings for this purpose. You can see the project settings and Localizable in pictures below.
Now I've issues in German localizations. In iPhone there are 4 variations of German language.
App runs fine in first and the last 2 but it's not localized in Deutsch (Deutschland). Can someone know what's the reason? Also when I sewlected this variation then Main german language selection is no more available in languages.
After banging my head arouind the possible reasons, I tried one thing which worked. I added another localizable for Germany (Germany).
But I still don't know the original reason of the problem. Ideally one German localization should have sufficed for all variations of language.
There are some languages that have regional variants in iOS, starting in iOS 9. Sometimes, when you tap a language, another menu will appear with some regional variants. Here are some examples with regional variants.
Deutsch
Deutschland
Österreich
Schweiz
English
Australia
Canada
India
Ireland
New Zealand
Singapore
South Africa
United Kingdom
United States
Español
Argentina
Bolivia
Chile
Costa Rica
Ecuador
El Salvador
España
Estados Unidos
Guatemala
Honduras
Latinoamérica
México
Nicaragua
Panamá
Paraguay
Perú
Puerto Rico
República Dominicana
Uruguay
Venezuela
Français
Belgique
Canada
France
Suisse
Italiano
Italia
Svizzera
Nederlands
België
Nederland
繁體中文
台灣
澳門
香港
Remember to choose the closest regional variant if you're localizing an app with the languages listed above.
Related
As there are country code in i18n in grails for the country languages like messages_es.properties for Spain, messages_it.properties for Italy. I want same for the Nepali language. I have tried for messages_np_NP.properties but not working for me as it shows ??????? in my view page. So what is the actual correct code for Nepali language?
Try this ones:
{ne-np} Nepal Nepali;
{ne-in} India Nepali
M
You can customize your own message properties file in grails under i18n>>Resources Bundle'messages'that ends with country locale you are interested. Example: messages_en_GB.properties for British English.
I can retrieve all language codes like so:
Locale.isoLanguageCodes
And all region codes:
Locale.isoRegionCodes
But I would like a list of all language ID's. There is a short example list described in the Apple Language and Locale IDs reference
en-AU for English as used in Australia
en-GB for English as used in United Kingdom
fr-FR for French as used in France
fr-CA for French as used in Canada
de-AT for German as used in Austria
de-CH for German as used in Switzerland
I'm hoping there's some standard list so I wouldn't list all possible permutations of Language + Region. Then I'll get combinations like, Italian as used in Mongolia. Anyone know of a source or method to produce a standard list of language ID's?
Bonus Question - Does anyone know how to get a list of the full spelling of the languages or regions and not just the code?
I seek a source for the world's main language names, country names, and territory names, localised into a long list of languages.
Example of localised names of languages:
EN EN English
EN ES Inglés
ES EN Spanish
ES ES Español
Example of localised names of a certain country in south-west Europe:
ES ES España
ES FR Espagne
ES EN Spain
Any idea where can I take/build that from?
You can find the information you are looking for in the Unicode Common Locale Data Repository (CLDR) here: http://cldr.unicode.org/
Data is supplied in XML so you will need to import this into your database.
The CLDR publishes human-readable charts for language names and territory (country, continent, etc.) names. In each, there is a section for each language or territory, identified by a standardised code. Then the rows of each section give a localised name, and codes for the languages which use that localised name to refer to the language or territory.
The underlying CLDR data is in XML form. The language and territory names you seek are in directory, repos/cldr/trunk/common/main/, with an XML file for each language, containing the names for various languages and territories localised into that language. For instance, the file es.xml has the Spanish-language names for languages ("español", "inglés") and countries ("España").
For country names, you can use geonames, for example here is a list of alternate names for the south west European country. Geonames has an api and data dump that you can use in your programs.
For language names, this list could be useful
HERE is a database in multiple formats.
Best of luck learning all those languages in their local slang.
How can I make the localization independent on the OS settings?
For example, if the device language is en-US,
But I want the user to be able to set the app to work using Hebrew localization.
In my case – I have an app that in emergency cases the user (in Israel) need to call a number (101).
I made localization to hebrew & english for that app, & when the user is switching to english lang' the dial number & pic' is changing to 911,
But what if a user in Israel wants to use english lang' on his iphone? he doesn't need 911, he needs 101.
I thought maybe to create tableview with all the numbers rather than a specific number but the access to the numbers list will not be quick and easy for dialing because of the multiple numbers.
Is it possible to make localization by location or any other way for doing that?
I appreciate the help.
query NSLocale for the NSLocaleCountryCode. The values from [NSLocale currentLocale] do not depend on the language setting, they depend on the region settings.
These are the values for my currentLocale. Language is set to english and region is set to germany.
NSLocaleIdentifier : de_DE
NSLocaleLanguageCode : de
NSLocaleCountryCode : DE
preferredLanguages are:
en,
fr,
de,
ja,
[...]
more fanciness: use geolocation to figure out the actual location of the device. It's possible that your users travel outside of their country ;-)
(changed title so as not to confuse future readers)
Is this an authoritative list of languages I can use for my application?
From: http://en.wikipedia.org/wiki/ISO_639-1 --> http://www.infoterm.info/standardization/iso_639_1_2002.php
ISO Language Codes
ISO 639-1:2002
Codes for the representation of names
of languages -- Part 1: Alpha-2 code
Infoterm has been designated the
Registration Authority (ISO 639-1/RA)
for the language alpha-2 language code
contained in ISO 639-1:2002 "Codes for
the representation of names of
languages - Part 1: Alpha-2 code /
Codes pour la représentation des noms
de langue - Partie 1 : Code alpha-2".
-1 is old. -3 is newer and more complete.
I would love to be able to localize my Android apps using ISO 639-3. That however the underlying system permit localization in the ISO 639-1 list only. This means that I can't use the built in localisation for minor languages like Yolngu Matha and other Australian languages.
So, it really depends on the underlying system you are developing for, if you can utilize 639-3, 639-3 or not. I have not fund any big support for 639-3, except in linguistics software.