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).


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.

| 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 '14 at 11:22
  • And that is probably the best way to go, in my opinion. – mavrosxristoforos May 14 '14 at 20:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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