Internationalization School

The old programmer showed up for his first internationalization class. He wasn't happy about learning new ways of doing things he had been programming for years.

I18nGuy Home Page

Also see: Unicode Humor


The teacher began by explaining programming international keyboards:

left, right shift, alt and control keys

"For some functions, you must detect the pressing of not the right ALT key, but the left ALT key. For some characters, for example the euro symbol, you must detect the pressing of not the left ALT key, but the right ALT key, or the ALTGR key".

That afternoon the programmer started changing all his code to detect the different ALT keys.

The next day the teacher explained writing directions:

"For Western left-to-right languages, program the cursor to start, not on the right side but on the left side. However, for Middle Eastern, right-to-left languages, program the cursor to start, not on the left side, but on the right side."

That afternoon the programmer started changing all his code to position the cursor correctly.

The morning of Day 3 they discussed Little-Endian vs. Big-Endian. The teacher said:

"For Big-Endian architectures, you place the most significant octet of the character, not in the right byte, but in the left byte. For Little-Endian architectures, you place the most significant octet not in the left byte, but in the right byte."

That afternoon the programmer started changing all his code to swap bytes as needed depending on the architecture.

Day 4 brought the next wrinkle:

"Now in some countries the month number goes not on the right but on the left of the day number. And in other countries, the month number goes not on the left, but on the right of the day number."

That afternoon, the programmer went straight home.

Day 5 began and the teacher talked about titles and names:

"Now in some cultures, the title goes not on the right of the name, but on the left. For example, ‘Mr.’ or ‘Herr’. In others, the title goes not on the left, but on the right. Take Japanese ‘san’ for example.

The old programmer had had enough. After all, the teacher had in only one week demolished his input, output, and storage facilities and was now decimating calendars, names and the rest of his User Interface. He could see that there was nothing left of his code that was worth salvaging. He picked up his stuff and got up from his desk. The teacher asked him "Where are you going?"

The programmer spoke up: "I have the solution to all your left-right i18n problems."

Oh really?

"Really. You can kiss my ass. Not on the left cheek. Not on the right cheek. But right up the middle."