Libraries for languages and their translation? - translation

we are translating our website into several languages.
Since users can add the languages they speak (and other stuff) to their profile, we need a list of all languages (and the other stuff) in different languages.
Do you know if there are libraries that provide languages, countries, ... translated into different languages?
Thanks

Related

How do I specify language when storing strings?

I'm currently developing a system that supports several languages. I want to specify these languages as precisely as possible in the database in case of future integrations. (Yes I know it's a bit YAGNI)
I've found several ways to define a language
nb-NO
nb_NO
nb-no
nb_no
nb
These can all mean "Norwegian Bokmål". Which one, if any, is the most correct?
The Locale article on the ArchLinux Wiki specifies a Locale as language[_territory][.codeset][#modifier]. The codeset and modifier I guess are only relevant for input. But language is a minimum and territory may be nice to have should we implement cultural differences regarding currency and decimal points etc.
Am I overthinking it?
Look at BCP 47
https://tools.ietf.org/html/bcp47
In this day and age you would need at to support at least language, script, region (only language being mandatory to be present)
It depends a lot what you use this tags for.
If it is spoken content you might care about dialect (for instance Cantonese vs Mandarin Chinese), but not script. In written form you will care about script (Traditional vs. Simplified Chinese), but not dialect.
It also matters a lot the complete stack you use to process things. You might use minus as separator, use grandfathered ids, or the -u- extension (see bcp,) then discover that you use a programming language that "chokes" on it. Or you use "he" for Hebrew, but your language (cough Java cough) wants the deprecated "iw"
So you might decide to use the same locale id as your tech stack, or have a "conversion layer".
If you want things accessible from several technologies, then conversion layers is your only (reasonable) option.

Internationalization and For Program Localization. i18n

I have several projects I've worked on that are setup for internationalization.
From the programming perspective, I have everything pretty much setup and put all of the string into an xml file or properties file. I wish to get these files translated into other languages, such as: Italian (it), Spanish (es), Germany (de), Brazillian Portugese (pt-br), Chinese Simplified (zh-cn), Chinese Traditional (zh-tw), Japanese (ja), Russian (ru), Hugarian (hu), Polish (pl), and French (fr).
I've considered using services like google translate, however I feel that this automatic translation tools are still a bit weak.
In summsary, I'm curious on if others have used professional translation services for their programs, if so which ones would people recommend and how did you coordinate the translation updates with the translation teams? Any idea on what I should expect to pay? Or is there a better way of doing this that I'm not aware of?
Machine translation services like Google, Bing etc. are not a good choice. As you mention, these services are in reality still in their infancy, and more importantly using them will most likely give your non-English customers a bad impression of your application.
If you want top quality translation, you will need to employ the services of a professional translation agency. Translators need to understand your application in order to translate the text correctly, so providing them with the application itself or screen captures of the English product will help.
You will pay per word - the rates vary from agency to agency, and also from language to language.
The other alternative is using crowd-sourced translations, from GetLocalization for example.
To summarize, proper localization is not just a matter of translating the text - you need to build a relationship with your translators, and ensure they understand your application and the context of the strings that they are translating, otherwise you will end up with a linguistically poor application, that will reflect badly on your company.

What is the best practices (business optimal) for localization of a website?

For a website like a marketplace or similar, what is the best approach for localization if majority of the content is in one language, but some user-generated content is in other languages?
There are so many approaches to this that I am getting confused, I am interested in the most cost-effective business optimal approach for this.
Some typical approaches;
Website in one language, accept content in many languages
Website in one language, only accept content in one language (reject other content)
Website in one language, content in the same language by translating to main language if content is not main language
Website in multiple languages, content is outputted as is for each localized version of the website, that is, content is duplicated for each language version of the website
Website in multiple languages, content belongs to the same language version of the website as the contents language is. That is, english content for english version of the website, german content for german version fo the website and so on.
tld vs subdomain vs directory for localization?
As others have commented, this is not really a technical question so is probably not the best fit here.
However, I will say that, if you are providing a service that has clients/users from different countries and different languages, basic politeness alone would dictate that you provide a website that can adapt to the client's language.
The content provided by the users in their own language should at least have an automated translation link (e.g. Google Translate).
If you don't do both of these things, you are locking segments of your possible audience out.
You also need to consider legislation. If you are providing services in some countries, it is mandated that you provide a number of base languages.

Resources for translating common programming terms for UI into other languages

I'm not even sure this is entirely programming related...but here goes:
I need to translate some forms into different languages, specifically Spanish and French. Obviously, it would be good if I knew these other languages fluently, but I don't. Besides doing a Google translate, babel fish, etc. are there any resources which can assist in this? Mainly I am trying to find out what the translation of OK and Cancel are.
Moreover, I looked to find some programs which have the UI written in these other languages and all I could find were language learning programs.
How do other programmers handle doing this?
Take a look at the Pootle Terminology project:
http://pootle.locamotion.org/projects/terminology/
and Microsoft's UI translations:
http://www.microsoft.com/Language/en-US/Translations.aspx
Both provide translations for common UI terminology in a range of languages.
If you want to do it right, it seems like you need to hire a person to translate for you. Preferably a native speaker. I'm sure you can find some services through a quick google search.
The best resource for this is probably a translator who speaks the language in question fluently and has experience translating user interfaces.
Here's just one example of a company that provides this service:
http://www.ricintl.com/software-localization-services.htm
For spanish is ok to user: "Ok and "Cancelar"

Software Translation Services cost - ballpark idea

I was wondering if anybody could give me ballpark figures for translating resx files. Let's say I have 10 Resx files with each about 10K words. What would be the cost to translate those from English to Spanish (or English to German)?
For the details, we are using Infragistics controls in our application. IG does not provide their software and controls in any other language than English (another reason not to use them... but that's a long story). The way they require to do localizable strings is a pain at best and we are looking at an approach that would be a bit more automated. The side effect is that we would have all strings resources localizable. One of the argument against that is the additional effort for 3rd parties that deliver our systems in a different language appears more significant. We are trying to weigh the pros and cons of either approach. (The other approach is to manually identify which strings do need to be localized and to manually create the code that allows that).
Regards,
Eric.
A ballpark would be .10~.20 USD per word.
You need to be careful when translating resx files, especially if translatable and do-not-translate content is mixed together. There are tools like Alchemy Catalyst and Lingobit Localizer that can help you and your translators manage these resources better.
For example, in Catalyst, a developer could go through each resx file and lock certain strings to protect them from the translator.
As far as pricing is concerned: http://www.proz.com is a excellent translators forum. It's probably the best place to start with.

Resources