I have been trying to implement Latin America Spanish language support and I am not supporting the Spanish variant of Spain. How do I separate these two? I thought, es is for Spain variant and es-419 for Latin America Variant. so I added es-419 but my localised string is showing up for es variant as well.

3 Answers

According to

es – Spanish, as shortest ISO 639 code. es-419 – Spanish appropriate for the Latin America and Caribbean region, using the UN M.49 region code 

I can't reproduce any issue.

Here's how I tested. I localized my app for English (the base) and for Spanish (Latin America), aka "es-419". I have a Localizable.strings file, and it exists in both localizations.

So:

  • if I run under English, I get my English string

  • if I run under Spanish (Latin America), I get my Spanish string

  • if I run under Spanish, I get my English string — and that is what I expect, as I am not localized for that dialect

So it seems to me that this works as expected. I'm not reproducing any issue as described by the OP.

I don't know about iOS localization but I think I can help clarify the problem

you see, the code es alone just refers to the Spanish language in general, it doesn't specify any variants. the code for Spain variant of Spanish is es-es, where the second "es" means Spain

so maybe you can see if your localised string is showing up for the es-es variant? if it doesn't then maybe the problem is solved :)

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy