Is there a translated / localized ISO 4217 currency code list? - localization

I am trying to find a localized / translated ISO 4217 currency code list. What I found so far was only an English version of ISO 4217, but currency names like "Swiss Franc" have different translations per languages (as per https://www.wikidata.org/wiki/Q25344). Any lists or dbs out there that could be used inside an app without reinventing the wheel?

The ISO 4217 standard defining the international currency codes seems to be provided by ISO only in English language. This is quite unusual, since many of the general purpose standards are provided by ISO in English, French and Russian.
Since currency codes per country evolve more quickly than standard committee can follow, the maintenance of the standard was delegated to an agency that provides a static list for free, but also only in English. The European Publication Office provides the list of currencies on a page that is translated in the 24 official languages of the European Union. There are a couple of other websites, not to speak of wikipedia, which also provide some more translations.
But before you start to develop a web-scraping app to get all the translations across all the known public sources, maybe you could just have a look at this amazing GitHub repository, which provides the list in almost any language, and in a lot of different formats (I recently discovered this link on the wikipedia page that you referenced).

Related

iCalendar Recurrence Rule to Human Readable Text - Localization for CJK Languages

So far, all online libraries that I've found, offer functionality for converting Rrule strings to human readable strings for the English language only.
I tried to modify the code from the Rrule Package (Flutter) (which is mainly based on rrule.js) for adding support for CJK languages, but the result doesn't satisfy me yet and I think I might need a slightly different approach.
Looking at the BigTech implementations: Google doesn't show anything (at least in their calendar app) and Google translation does an awful job with translating more complex recurrence rules from English to e.g. Korean), Microsoft and Samsung calendars support only very simple Recurrence Rules, Apple seems to have one of the best solutions in their calendar.
So I was wondering if there is any open source/accessible code for converting Rrule strings to human readable Strings for CJK languages that I could refer to? The more complex recurrence rules are supported, the better.

English to European-Portuguese translator

I am using Google Translator for multilingual support. As far as I googled, it provides only Brazilian Portuguese & not European Portuguese. Is there any other translator/API(Free or Licence) that could provide European Portuguese. Please suggest.
I am pretty sure google translate covers European as well as Brazilian Portuguese.
Just entered a bunch of words that are only used in Portugal such as
Descapotável
Fixe
Aferrolhar
Gajo
and they provided the correct translation into English. I did have to set the source language as Portuguese ( if left to autodetect in some cases it failed to detect the language )
The google api documentation shows both Portugal and Brazil as being covered ( see code 'pt')
In my experience, the most consistent translation matrix between American English (en_US) and European Portuguese (pt_PT) that's available online is the DeepL Translator/DeepL API. Their paid offering, DeepL Pro, takes it a step further to supplying formal and informal tones for both regions and represents the pinnacle of machine translation for European Portuguese that I've personally used.
Bing Translator also offers an explicit choice between European and Brazilian Portuguese translations and does a fair job at minding the differences, though it appears less nuanced about the vernacular usage than DeepL.
Both of these are far superior to Google's offerings when working with Portuguese. As a participant in their Crowdsource project and the support forums for it, according to the Google representatives there (as of Q4 2021), there remains no official plan to fork the Portuguese part of the database into Brazilian and European variants despite years of requests for it.

Language codes reference

Can someone please give me the official reference to the language (country/region) codes. I'm finding different codes for the same language (es_ES, esp_ESP, etc.) and I can't figure out which one is the right one.
There are several different standards specifying language codes, including ISO-639 with its sub-standards 1-3 and IETF language tags, which describe more of a system of possible codes than the codes themselves.
Which standard is "the right" standard depends on your use case and context. See http://en.wikipedia.org/wiki/Language_codes.
That's because the languages naming coding has different standards, using different number of letters. You might have to chose which standard to use and maybe detect which standard the data source you have is using.
This is a starting point: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
These codes are a combination of the specific language as well as the conuntry in which the language is used. So for instance means es_ES spanish_Spain. Another one would be es_AR which would mean spanish_Argentina. For the language code there's the Language Matrix, as for the localisation part you could use the ISO 3166-2 country reference
you can find all the regions code in documentation here

Default site language based on the ip with rails 3

I've a multilanguage site, based on the localization of the visitor (his ip), I'll use one language or another (setting the I18n.locale).
i.e: for a visitor from France, the default language will be french, for a visitor from US the default language will be english.
Which gem do you recommend for that, there is a wide range of choice.
Thanks
Some countries have more than one official language, or multiple commonly spoken languages. For these countries, you may want to consider defaulting to the most prevalent spoken and then display a ranked list by prevalance. You can get the official and common languages spoken and percentage from the CIA World Factbook listing on country languages:
https://www.cia.gov/library/publications/the-world-factbook/fields/2098.html
If you need to map the language to the ISO 639-1 alpha-2 or alpha-3 codes, you can get that information from the US Library of Congress at:
http://www.loc.gov/standards/iso639-2/php/English_list.php
The OpenGeoCode.Org Team
Andrew

Source code not English; which (natural) language to display to the user?

I'm creating an English translation for a program written in German (i.e. all strings within tr("...") are German). Users who are in a non-English non-German locale will probably want to see the English translation, but with the program as it is now they will see German.
There are some ways to solve this problem:
Check if it's a German locale and force to English otherwise.
Present an option to the user.
Make the programmers change their source code to English.
What is considered best-practice for internationalizing where the source code is not in English?
These are two separate questions.
The best practice is to not use any kind of hard-coded string in the sources.
Strings should be stored in external files and loaded by ID.
But what you have there does not sound like the best practice. Might be too much work to get it there.
What you describe (the tr("...") stuff) sounds like gettext (or something similar).
That approach for gettext (and similar libraries) is that "the stuff in the sources is the ultimate fallback", used if the strings for the desired language are not present.
In this case I would go with "Present an option to the user."
You can't assume the user knows English.
Real example: in Switzerland the official languages are Italian, German, French and Romansh. If I ask for French and it is not present, then the next best option is probably German, not English. I Canada the official languages are French and English, so if I as for French and is not available, the next best option is probably English.
I think the best option is asking the user (during installation probably).
Change the source to English is too costly and not worth it. I live in Brazil, we have tons of codes in Portuguese and translating to English wan't necessary one time (we do make software to english speakers). Unless you have a client that requires you to do so (usually when you are selling the source also).
Hope it helps
OK, so I guess the three options are:
Recompile the program with translated strings.
This is fraught with danger as you'll end up with two copies of the source. Bug-fixes in one will need to be done in the other. And then, what happens if you need French? Italian? Spanish? The only advantage of this approach is that it's feasible for a non-developer to do the work. (Just about.)
Resource out the strings, and automatically check what the UI locale is on load.
Here the strings are replaced with GetResource("key") or similar. On load the program automatically translates to the user's culture. This might work, but I know plenty of German-speakers who have English-language culture installed on their PCs but who would prefer German language programs at some points.
Resource out the strings and give the user the choice on load
In general it's always best to give the user control. This might be a prompt on load, although if the application is used often this can be an annoyance. Perhaps a balance is to ask the user during installation for their preference and then give then an option in a dialog to later change this setting.
Note, by the way, that translation is not localisation. For instance: number formats are quite different in Germany (e.g. 1.233,44) from English (e.g. 1,233.44). Icons and suchlike often have national characteristics.

Resources