Translating database column names for globalisation
I was working at a software development house where one of those enterprisey .NET web applications was created for a large company. It was fairly standard. There were workflow processes, inventory tracking business logic, user management and the like.
The web application also had to display information in both English and Japanese (the customer was, you know, a Japanese company).
While the database column names were in English, there must be an option to display the Japanese equivalent. Suppose we had a table scripted like:
create table staff ( STF_ID nchar(10) not null, STF_NAME nvarchar(100) not null, EFF_DT datetime not null )
When I was creating datasets, I used Pascal case as recommended, and typed out words in full. So I had something like
ds.StaffID = "FIRSTID"; ds.StaffName = "Some name"; ds.EffectiveDate = DateTime.UtcNow;
The lead developer gently asked me why I coded that way. I explained the recommended practices for variable naming. I was actually quite puffed up with pride because of that knowledge.
The lead developer said he understood (though I didn’t think he did). Then he gave me an explanation why my method was a bad idea. He said translations for English and Japanese were based on resource files, and the contents of those files were based on the names used in the database tables.
So in the resource file, there would be an entry for STF_ID to be translated into “Staff ID” in English and “sutafu ID” in Japanese.

If I used “ds.StaffID”, it would be confusing for other programmers because I did some “translating” on my own. Someone else might translate differently and soon, the whole project would go up in flames. A standard way of referring to the database column name was established, and that was whatever the column name was originally. Even if it doesn’t look quite right in code.
So there would be
ds.STF_ID = "ID09183"; ds.STF_NAME = "another robot"; ds.EFF_DT = DateTime.UtcNow;
After some thinking, I had to concede. Using the database column name in code did make sense. There were full-time people hired to enter a code, word or phrase with the English and Japanese equivalent into the resource files. There were many developers working on that project. It’s just more efficient to use the column names as a standard.
That said, there’s much to be desired for the variable naming skills of the database administrators…
Tags: column names, translation
Comments
One Response to “Translating database column names for globalisation”
Sign up now to get your free ebook of "How to self-publish an online magazine". Your email is kept confidential, and is used only to send information about the magazine.



Hi! I write about maths and programming and other topics of esoteric interest. I'm also the editor of the online magazine Singularity, and you can get the latest issue at the top (it's free!).

Thanks for the very helpful information.
Best Regards
Offshore Software Development
http://www.softwebsolutions.com