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.
Related
I am currently conducting some research on externalised translation services, and how to integrate them into our development workflow.
I have come across various services, and find it difficult to compare them:
transifex
crowdin
localizejs
tran.sl
oneskyapp
smartling
We are managing a large content website, using 2 methods:
gettext for the "static" text
different versions of the content (1 for each language) managed through a CMS.
The difficulty for us is to commission translations manually, it just doesn't well. We would like to automate the process instead.
whenever the gettext files are updated, content is sent automatically to a translation service.
whenever the content is updated, it is also pushed to a translation service.
It seems that all services above are designed to meet those requirements. So the question is which criteria to use to compare those various services?
The answer has a couple of different aspects.
Firstly, it will depend on the specific CMS you are using and how much you want to change your system. Namely, some of those services have to incorporate your website into their system or incorporate quite a few things into your system to achieve that degree of full automation. So you'll have to check with each one, I guess (although I have no direct experience of these services).
Otherwise, you might be advised to consult with a localisation agency and choose a localisation plug-in for your CMS and settle for a degree less automation. The process has to detect the changes, export the modified pages/contents as an XML or XLIFF file and send it to the translation service, it also has to recognise receipt of the translated file and re-import it. How much of that will happen without a supportive, prompting click or two from you, I'm not sure.
(The gettext PO files can usually be provided direct to a translator or agency who import them into their translation memory system and recognise changes since the last time they had them, only translating the changed segments. Here it pays off to work with the same translator or agency over time.)
Secondly, it depends on how many languages? All of the above gets potentially more complicated when it is being translated into more than one language.
Thirdly, who is translating? The services that offer real 'crowdservicing' often end up in a scenario where very short pieces of text without context are delivered to whichever translator happens to be awake and online at that moment. My recommendation would be specialised localisation agencies working with the relevant CMS plug-ins who should be able to offer higher quality by giving your contents to the same translator every time, or one of a small team, who then get a chance to develop a feel for your contents and translate accordingly.
Hope that helps,
When there is a ready to use translator plugin available from companies like microsoft,google and yahoo why one has to implement globalization feature in an application using resource files like .resx. Why not simply plugin any one of those translator in the application and give the user with the freedom of choosing his own language/culture? Which one is better over other? Thanks in advance.
Automated machine translation is not the same as providing customized translations for different languages. Machine translation gets things wrong far too often, and can easily phrase something in a way that is offensive or embarrassing. It also doesn't take into account localization at all.
And more importantly, public machine translation services only work on public sites. Most globalized sites have pages only signed in users can reach. In that case, it is easier to provide translations yourself.
If you're making money off your customers, you're better off investing in real translation over a free service that ultimately marginalizes any users who don't speak the primary language the site is written in.
As I understand, these translators aren't as accurate. My last boss hired a translator and we translated the data into a separate language database table.
Autotranslate is not efficient and WILL get you in trouble when serious application is regarded. There is a very simple linguistic test you can perform on your application. First you translate from the original language to the target language. Then, you take the result and translate it back. If you get satisfactory results, you're good to go.
In fact, for some simple applications, that would be a recommended way. However, it MIGHT come back and bite you in the buttocks.
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.
Just wondering how users translate their software, I've just finished making my software able to use different language but I'm not sure that Google translate is accurate enough.
No; I wouldn't recommend it.
Machine translators will not handle short domain-specific strings very well.
Your UI is likely to have non-standard words or usages that the translator will choke on or mistranslate.
Also, machine translations tend to look very unprofessional.
I don't think Google Translate would be sufficient, I would recommend to get a collaborator that knows your language and the language that you want to translate to.
Google translate might work for lists of words but will make a mess of sentences and make your software look really bad. Better to hire or talk nicely to a native speaker to get your sentences translated.
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.