Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm designing/building a web application that will be available in two languages: French/English. I placed i18n mechanisms to extract every text from the application. But what about the user's input?

I have some "system settings" that currently ask for both lang for their labels...
But I can't obviously ask a translation for every input (pure data, receipts, etc)...

Where can you trace the line between what should be available in translations?

N.B : An instance of the application (a same database) will be used by more than one person (~10 users).

share|improve this question
4  
What do your requirements/regulations say about the issue? –  Bart van Ingen Schenau May 12 at 17:12
1  
possible duplicate of Natural language detection for web application –  gnat May 12 at 17:24

1 Answer 1

up vote 0 down vote accepted

As a non-native English speaker, I always have to develop my projects with the option to translate at a later time, as it seems very very wrong to build anything with a default language other than English. So, I have tried various approaches and I believe it really depends on your project input.

Scenario 1

An online application for managing clients won't need any translation on input, as clients' names are obviously non-translatable contents. Users from both languages should be comfortable seeing the client data in the client's native language.

Scenario 2

An application to build an input form / input template (which may eventually be part of the UI). Your users may have to create fields, etc, for other users - in which case translating is necessary. Depending on how you implement your translation, you may ask them to:

  1. Write both languages
  2. Write an alias that will be used by someone who is responsible for translating the UI
  3. Write only one language and give the ability to other users to translate.

To elaborate on 3, you can show your (e.g.) English text to French users, if a translation is not available, but give them the ability to translate it on the fly, with a <sup>Translate this!</sup> link or something.


To summarize, I don't believe anyone can help you draw a clear line on what to translate or how, without knowing more about your project. In my opinion, it is good practice to pass every part of the UI through translation when coding, so that you can decide what to translate later on, by editing the database or whichever method you use for translating.

share|improve this answer
    
thanks a lot, I'm clearly in scenario 2 but I don't need translation for now. I placed all test in a i18n file so I don't have any hardcoded content. If someday I need to translate this, I will have to translate the i18n file, that will update all the static content from the UI, and then analyse what to deliver in both languages from the database. –  Pascal Boutin May 14 at 11:22
    
And that is probably the best way to go, in my opinion. –  mavrosxristoforos May 14 at 20:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.