How does a modern web service handle multiple languages(locales)?
-
I would like to know how a modern web service handles such at a rather large scale. At the moment, I am working with a web service fully translated in 3+ languages and plans for more. There are several frameworks all over various web stacks that support multiple locales/languages, either with the internationalization API or something named similarly. However, at some point this doesn't seem to feel like using the right tool for the job. After talking with my colleagues, I have had some recent ideas about using an isolated web service to handle multiple languages requesting translations over REST. This would eventually make a lot of sense for clients that aren't rendered necessarily by the server. ( Ex. An Android app that loads text resources for the locale from a Rails server ) What do you think are pros and cons of such approach ? And of course, what would be the industry-proven way of handling multiple languages, so that I don't stupidly waste a lot of time and money ?
-
Answer:
I usually do the translation in the server side, basically you always pass the language to the web service you are requesting an you return all the information in the requested language. The approach you talk about using an isolated web service to handle the translations I think it is not very efficient because the client has to make at least two request for each web service, the first one to get the information and the second one to translate it.
Daniel de la Cuesta at Quora Visit the source
Other answers
1. Biggest problem will be keys consistency. Check the flow: you release your android app/web service v1 upload localization files to the server and upload/do translations there as the development goes you update the localization files on the server since translators have to do their job before release of the new version in case some keys have been changed - previous (app version) is unable to get their translated texts you can create "versions" on the server, but that brings management issues you can restrict keys changes but that will not solve the problem (keys may disappear, texts with the same keys may change their meaning) 2. The delays, of course. You will have to pull the localized materials in the runtime. 3. Broken common approach. Android is not ready to get localized resources in the runtime, you will probably have to hack which is not good in the long run. That is just first thoughts. Let me give you my background. I'm managing localization-oriented startup Crowdin (http://crowdin.net). I've observed thousands of continuous localization projects and the good practice from my perspective is the following: manage localization process on the server (create locales, do localization, do qa etc) upload localization materials for translation on each commit (trigger upload automatically, send notification to translators that new strings appeared) download existing translations continuously (say, with Jenkins and build staging versions) do QA continuously, improve translations deploy/release as often as possible. include latest localization with each released version I do not know how that fits your workflow and project release cycle but in general this approach gives good results. I encourage you to contact our support if we can assist you on improving/setting up your localization process.
Sergey Dmytryshyn
Related Q & A:
- How To Send a Complex Object to a Rest Web Service?Best solution by codeproject.com
- How to deal with timeout when accessing a web service?Best solution by Stack Overflow
- How to create a Restful web service in .Net Using MySQL?Best solution by stackoverflow.com
- How to call .aspx page from a web web service(service.svc?Best solution by Stack Overflow
- What is a cached web service?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.