views:

86

answers:

5

Hi guys, my product owner came to me with this problem:

Our application supports multi-language and is used by users in different countries. OK! On a form the user is asked to supply the academic level of a person. OK!

The problem is that academic levels do not exactly match between countries. I suggested we define agnostic levels and then just give their representative name for each country depending on the selected language for example.

Am I thinking of it correctly? Sure this is no new problem, anyone got it? How have you solved it?

Thanks! Alex

+2  A: 

This is a fairly common problem that can be solved using agnostic items, but in most situations, the form is modified for the specific country's needs. This will ensure the site is user friendly for each individual country.

Russ Bradberry
Completely agree. Developers should make the forms work well for the user, not make it easy for the developer.
Sam
Agree, but I must keep the same behind the scenes codes so I get get individuals with the same academic level independently from the language that the application was set on when they were inserted.With localization I can (and will) give distinct names to the same ID, my main issue here is to know what are the common ways used to separate the possible individual academic levels.
AlexCode
A: 

I doubt that it's safe to assume that all countries that speak the same language will have the same academic structure. Spain vs. Mexico? USA vs. U.K.? etc.

Better to first obtain their country, then customize the academic level selections accordingly.

Mark Maslar
True, but that can also vary. I can say was born in Portugal but went to college in UK and took a Master in US.So the main idea here is that the person that is filling the form is comfortable with the terms used in the language he chose the work.I don't need to get in much detail, this is a choose the best that applies :)
AlexCode
A: 

If you have pre defined levels and you just have to display them according to the users language setting, then you can use resource files.

You can use resource files for multilingual support. You can find information on how to do this here

YOu can create common a webpage and define either local or global resource files. Create the language and culture specific resource files (like es-mx for Spanish language and Mexican culture or fr for french) and once this is done based on the language setting in the users browser, the corresponding language resources are used and displayed on the webpages.

Pavanred
My problem isn't technical, is to define those levels in a way that they can be matched in all countries logic.
AlexCode
A: 

I'm assuming that by "academic levels" you mean what we here in America would call associates degree, bachelor's degree, masters, and doctorate. Right?

Frankly I don't know a lot about the educational programs of other countries.

You might be able to do this by making the neutral representation be the integer number of years of post-elementary education, assuming the student takes the "standard" amount of time. Thus in the US the translation would be 2=Associates, 4=Bachelors, 6=Masters, 8=Doctorate. In Australia you'd have something like 1=Diploma, 2=Advanced Diploma, 3=Bachelors, 4=Honor Bachelors, 5=Postgraduate, 6=Masters, 8=Doctorate. In Europe, it would be 3=Bachelor, 5=Master, 8=Doctor. Etc.

But as I say, I don't know a lot about other country's degree titles, so I may be way oversimplifying in assuming this would work.

Jay
Yeah, this is the kind of solution that popped out of my head when I was told about as we need to define standard numbers for levels that have different name and different meanings.What we came to the conclusion is that we can't detail too much as the problem between mismatches between countries are in the details, so we need to represend the leven in a more "macro" look.
AlexCode
It occurs to me that if all you need is to save the information for later display, then the "neutral represenation" could simply be a text string and you could put whatever you want in there, whether its "Bachelors" or "Foobar degree", and who cares if you can make any connection between degrees given out by the US, France, or Timbuktoo. If you have some reason for wanting to compare them, to say that a Bachelors from the US is the equivalent of a Foobar degree from Ruritania and is less advanced than a Plugh degree from Trantor, then something like what we're discussing would be of value.
Jay
A: 

I would use country-based localization to accomplish this. This doesn't sound like a problem that can necessarily be genericized across the board. That doesn't mean you can't use any overlap at all-there's probably a lot of code reuse possible between the US and European education system, for instance, and recognizing instances like that will save you a significant amount of time.

Your tags indicate you're doing this project in C#, which supports both localization resource files and inheritance. Take full advantage of both of those to reuse all the code you can without trying to stuff things in a container they don't fit in, and you can have a page that allows the user to select a country and have an experience fully in line with that country's education system quite quickly.

Todd
My problem isn't technical, is to define those levels in a way that they can be matched in all countries logic.
AlexCode
I'm not entirely sure you can do that. Depending on what exactly a given country's system is, you may need to vary the logic slightly for different countries. Probably only slightly, which is why I'm suggesting inheritance and reuse, but I doubt a "one size fits all" will work as well as you want it to.
Todd