Japanese Localization Help?
TwoPumpChump asks: "I'm a young engineer, with only modest programming training and experience, (Nothing to match you Gods of the code,) and I have just been assigned with the task of traveling to one of our Japanese factories to learn, then translate and localize some VB 6 code for a product line that we'll be setting up here at our American facility. The application's purpose is to run various tests using GPIB communications, with NI-DAQ hardware for instrument control and dump results into a database, all of which I'm comfortable with. My question is, before I travel half around the globe for the first time ever, is what issues can I expect when localizing Japanese code to US English and what sort of 'toolkit' should I take?"
localhost$ sed --in-place s/l/r/g *
You must have pissed someone off in a previous life, because this is usually a non-trivial exercise, and the company is trying to do it on the cheap.
Presumably you speak Japanese.
Try Google, searching for localization and internationalization. There are some sites out there that discuss it, even for VB.
How much string processing will you need to do? Will there be data file changes? What is the scope of the UI changes required?
There are companies out there, like Lionbridge or Basis Technology, that make good money doing this for people. Usually they get called after a company has already spent too much trying to do it themselves.
The first L10N effort involves having to do all the I18N work (ie. moving string resources out of things so that you can just have a translator work on it).
If the code has never been I18N'd - it is a huge horrible task. If it has, just bring an English/Japaneese translation book and do the translation (he he he - if only it really was that easy though)
I have mod points and I am not afraid to use them
>I'm a young engineer, with only modest programming training and experience, (Nothing to match you Gods of the code,)
If you pull this assignment off, you can change your intro to read: "I'm a seasoned programmer,"
Because it ain't easy.
I think your success will depend entirely on whether someone in the Japanese team is willing to really help you out.
If you've never been to Japan before, read up on cultural differences.
"Piter, too, is dead."
how does this affect me as a proffesional visual basic computer security program develloper?
i work in delhi for an american bank to improve their account-management with newest security and marcomedia flashtechnology.
i use a one string for american, one string for french etc.
then i select which string to use with if-question in the code everywhere i need to:it's easy if you have some experients with the visual basics; i cannot understand why you americans need indian contractor to do such easy programming.
Lonely Planet and Pimsleur.
Japanese write software like crazy and there are plenty of open source coders out there. Make contact w/ a few of them and try localizing their projects to English (US) for the hell of it.
Sounds like you're on a mission impossible, good luck.
[o]_O
Hello American Investor,
I see you are interested in distributing Mr. Sparkle VB6 Code in your home prefecture. You have chosen wisely. But, don't believe me, observe this commercial...
Random line from the commercial:
Join me or die, can you do any less!
I lived and worked as an embedded engineer in Japan on cellular technology, so there are few NB I can perhaps throw your way.
All the strings are most likely hard-coded.
What this means for you is: you will not have the luxury of running this code through a perl script, extracting strings to eventually provide one-to-one correlations in the other target langauge (in this case, English).
Given that Japanese and English grammar differ greatly enough to affect the formatting of strings, many of the strings that will require translation will necessitate rethinking how the data is displayed on the GUI. This is only exacerbated by the fact that VB allows you to build strings with semtantics like "Processing test #" & testIdx & "'s results." (in Japanese: testIdx & "banme no tesutokekka wo shorichuu") -- damn slashdot completely removed my Japanese when I tried to input it!!
I am not sure about VB in this regard, but you may run into issues with the character set encoding they are using. Most likely this will be Shift JIS on older Windows systems.
ASCII is pretty much universal accross code sets, but it would be wise to port everything over to UNICODE, just incase you are going to have to support other langauges in the future.
I am sure there are other things you will run into, but I wouldn't sweat it. As much as possible, use tools for internationalisation of strings, i.e. gettext.
Hope this helps.
Some of your challenges:
1) User expectations. Become friends with your testers (I hope you got a testing department?) and continuously ask them to evaluate whether the software works like expected. Obvious things to watch out for: date, number formatting issues, and the fact that alphabetic sort is expected to be by the table of fifty sounds, not the abc order.
2) Input verification. Strip half-width kana, save yourself a LOT of pain later. Make sure you use a consistent internal representation of Japanese (if I see another person trying to compare Shift-JIS and Unicode for equality by casting to integers and using the equals operator I will stab my own eye out with a pencil).
3) Canonicalization issues in data. Be prepared to weep tears of blood for this. My bank still hasn't figured out how to do it right, so I can't access my account online because my name is written in romaji in their database but their web site accepts only hiragana. Be especially careful with using consistent romanization. This probably means waging total war on both your users and existing data -- have fun!
4) Conversion of postal addresses. You would think this is easy, but people screw it up anyhow. Make sure any input UI asks for addresses in the order expected locally and parses them correctly! I have some business contacts in the US who have my city listed as my apartment building due to software which made assumptions about address ordering for them.
5) Suicide. Japan doesn't have a love affair with it -- thats a myth. You'll want to commit it by the end of this project -- thats a fact.
Help poke pirates in the eyepatch, arr.
He's right -- this is a difficult task. If you're really sure you want to head this project yourself, though, here's some tips.
(This comes from a recent C/S grad with development experience and five semesters of Japanese.)
I'm assuming you have no Japanese language experience of your own. Maybe you have some experience with their culture. I imagine you will be given access to bilingual folks, who will help you understand their application well enough to Americanize it.
First, remember that Japan and the US have very different ways of thinking. There's a good reason Japanese is a difficult language for us western folk to learn -- just learning to convert one set of concept-words to another set of concept-words isn't sufficient, if the concepts are different.
In practice, this means you need to drag your translation help (kicking and screaming) through the process of translating situations, translating use-cases, not just translating words into different words. Be sure you understand the program's design nearly well enough that you could build it yourself. Ask your translators to spell out what the reader should be thinking when they read something, or what the reader will probably want to do when they read something.
Hope this helps!
--Michael Spencer
I had to think about this for a bit, but I think there's only one thing to do:
Quit.
Honestly, if I was in your situation, and I could not talk anyone out of it, I'd either quit or demand a gigantic pay raise unless they were already paying me really well.
Were this in Java or Python or a web app, something where you stand a chance with international charsets, it might be OK.
English to German or some other Latinate language might be OK.
If this was in something that didn't depend on drawing static forms on the screen, but instead built the forms from metadata, you might stand a chance. (This is assuming your VB app took the path of least resistance and doesn't already run this way, so you'll be completely re-drawing every form.)
An app that had already been localized into something else might be OK, or one that had been planned for it since the beginning.
But this? Absurdly large task for one person. You could be doing this for years, and it's just not fun enough for that.
I sure hope the code is of a decent quality. If it's spaghetti code to boot, this message goes from 25% toungue-in-cheek to full out serious advice, because the L10N is going to touch everything. You're going to be stunned what new code paths are going to be generated.
I'm very grateful so far for the advice, (I submitted this,) I should have mentioned that yes, I do not speak a lick of Japanese but will have a couple of bilingual assistants. Only one of whom, however, is fluent enough in English to be of any use. Also, he is a decent VB programmer in his own right and as you may guess, I'll be buying him dinner to keep him on my good side. Unfortunately, he's a busy fellow so he won't be dropping in to help, except sporadically. The only other saving graces is that the software will have limited users (all in house; not released to the public, so I can indeed babysit the application.) But the biggest tip I'm picking up is to learn at program inside and out while I'm there, around the original developers, so when I get it stateside I'll know intimately what it's supposed to do and what it's supposed to accomplish. That, and to pray and pray hard ;-) Thanks, y'all
We are quite similar. I am a recent computer engineering graduate with 5.5 semesters of Japanese (I dropped half-way into my 6th one because it was redundant and annoying). I guess I'm weird, because I never found Japanese difficult *at all*. Especially when compared to some of the CmpE courses I had to take during those 4 years. >_> But yeah, if they expect you to localize software and you don't have an inkling about Japanese language or culture, I would tell your bosses boss that your boss should be fired for either being a moron or a jerk. :)
Hmm, now I'm curious if Slashdot supports non-romanized input for comments. Let's see...
Hero of Allacrost, a FOSS RPG for *NIX/*BSD/OS X/Win
Honestly, who did you get on the wrong side of? They're sending you to Japan when you have absolutely no Japanese language skills in order to work on translating a program written in a language which is not going to be suppored by its creator in a few months.
;)
To top it off, you have only two assistants for this on the native language side of things, only one of which is any help and he's not going to be there all that often.
It sounds like a project someone wants to fail before it's even started. I'd be asking myself if you angered one of your bosses (or if it's a power play between two higher ups and you're just a pawn).
Please tell me your boss didn't catch you in bed with his daughter or wife
In all seriousness, though, this may be (though is not necessarily) a rather negative indication of your life expectancy at the place you are currently employed (wether it is because of something you did or if you're just a sacrificial lamb...)
My advice? Do the best you can without killing yourself and try to have some fun while you're there. Good luck. You're going to need it...
Everything I need to know I learned by killing smart people and eating their brains.
I've been living in Tokyo for three years now, working for a software development company. Even though I'm a systems administrator, I've had to do localizations on occasion. Both ways: Japanese to English and English to Japanese.
If you were to do an English->Japanese localization you would be in deep trouble. But you say that the work is in the opposite direction. In that case it's not that hard, assuming that you can read some Japanese or that there's someone in the company who can help you with the translation.
Some of the problems you'll be facing:
- Get used to work on a Japanese Windows. Your English Windows will not be adequate for this.
- Dates. They are written as YYYY+(kanji for year)+MM+(kanji for month)+DD+(kanji for day).
- Input validation. You'll have to REMOVE lots of code that you won't need in the (more simple) English version. And in order to know what you have to remove, you'll have to understand it first. Learn about hankaku-zenkaku characters, katakana, hiragana and kanji, and how they're encoded in Shift-JIS.
Mail me if you need help/advice.
My site
I had the job of translating some Swedish surveying software into English. I also had to convert it for use in the southern hemisphere, which was non-trivial as well.
By the time I finished, I swear I knew every line of that code. It's a BRUTAL job, trying to translate variable, class, functions etc. names to English. You know how you may abbreviate a variable named "count" to "cnt"? Guess what, they do the same in Sweden too, except they abbreviate Swedish words.
If I was doing this again, I'd
- NOT agree to have it working within a specific timeframe, because the work consists of loads of breakthrough thoughts and ideas that are essentially unplannable
- give serious thought to a rewrite from scratch. As your code is VB6 which is now out of MS support, and not that easy to support anyway, you may want to consider this option
- demand a local, bi-lingual coder who'd worked on the code to work with me, at least in the initil phases
- state very clearly that I'd be working 8 hours a day, 5 days a week, and no more on this project. It's extremely easy to fall into working huge hours with a project of this type, as you wind up having to hold huge amounts of info in your head and time just blows out the window in those cases
- try to get a work partner, as the task is mentally draining and you need someone else to look at things when your brain starts to wind down
Good luck, and enjoy Japan - it's an incredibly beautiful place to visit. Make sure you set aside time to have a look around
Probably because the poster of the article wants to convert a piece of manufacturing production-line software from Japanese to English, and the parent to your post is talking about going the other way, English to Japanese. He's talking about coding issues with the Japanese language, stuff to do with romaji, postal addresses.
Whilst interesting for other people, that information is probably next to useless for the poster of the article.
I agree with the other poster - this project sounds like it's set up to fail.
You haven't mentioned a timeframe for the project. If it's a year or more, really, seriously consider studying Japanese half-time during your stay (you really should be able to make a good case for it, seeing as how localization is supposed to be the point). Also, make a point of befriending people and absorbing the local culture. When you are fired and the project cancelled, you have a couple of pretty weighty bullet points to add to your resume.
Oh, and don't sweat being in Japan too much. It's not all that different from Scandinavia, for example; just go with the flow, learn from your experiences and try not to make too big an ass of yourself and you'll be fine. Just like everywhere, if people percieve that you are making an honest effort, they will be very gracious about stuff and very willing to help you out.
Living in this country is a very worthwhile experience.
Trust the Computer. The Computer is your friend.
1. Get some good business cards and a silver or aluminum business card holder to put them in. Present them held with two hands as if presenting a letter sealed by wax. When someone gives you one, treat it as a ceremony and place it reverently in the holder.
2. Hold your arms close to your body - do this all the time as if at attention.
3. YES does not mean yes. It means maybe. People will say Yes and not do what you think they agreed to a lot.
4. Food is very very important there - if someone invites you to eat, always accept and always try every dish offered - at least some. Yes, they make loud noises when eating - this means they like it - don't try to imitate this for a while until you understand when.
5. Small gifts are part of the whole respect thing, you're expected to choose something nice for people you work with.
Noone will tell you this to your face.
-- Tigger warning: This post may contain tiggers! --
I read, write, and speak Japanese daily in my full-time job. Before that I free-lanced doing translation of both documents and software.
There were a number of useful comments posted in response to your question, but there is an important point most of them leave out (speaking from experience here). VB and VBA applications written in Japanese tend to have UI objects with Japanese names. There may be hundreds of widgets with the default name of CheckBox1, etc, but in Japanese. You must change the Japanese object names for the application to run on English language machines. Tracking these down and correcting both the object name and all ocurrences in the source is not trivial and no fun. I cannot recall if VB6 has an autochange feature (newer VBA has this) that changes source code references for objects when the object name changes, but you should look into this immediately.
For one enormous MS Access VBA localization project, I ended up writing scripts that scoured through the object collections and changed the names for me...this was significantly faster than clicking through the VBA UI and manually making the changes. If you have experience with VB, you should consider creating tools like this to speed up the process. A toolset like this will be very helpful for this project and future ones they will likely throw at you if you are sucessful.
To be honest, it is going to be much more difficult for you since I read in your followup that you don't read Japanese. I believe your company is making a mistake and should consider hiring a contractor with appropriate experience and skills to do this. I am willing to go into more detail on some of my experiences via email. If you are interested, contact me at spacecow10 at hotmail.com. Make your subject easy to pick out from spam since I will have to find you in the Junk Mail folder.
Good luck.