Slashdot Mirror


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?"

9 of 102 comments (clear)

  1. Depends, has this been localized before ? by MerlynEmrys67 · · Score: 2, Informative
    Maybe not to English - but to SOMETHING.

    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
  2. zerg by Lord+Omlette · · Score: 4, Informative

    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
  3. Insight from one who worked in Japan by panoplos · · Score: 4, Informative

    I lived and worked as an embedded engineer in Japan on cellular technology, so there are few NB I can perhaps throw your way.

    1. Expect the worst
      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!!
    2. Encoding issues
      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.

  4. Re:You are being tossed into the deep-end, my frie by patio11 · · Score: 5, Informative
    Hello from Gifu-ken. Good luck, my friend, you're screwed. Localizing a medium-scale Java program from E->J is a huge undertaking, and Java is practically built around the assumption that the code will go international (native Unicode strings, etc).

    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.

  5. Thanks for the advice so far, some more points... by TwoPumpChump · · Score: 4, Informative

    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

  6. Don't listen to them by ag0ny · · Score: 4, Informative

    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.

  7. Many years ago by darnok · · Score: 3, Informative

    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

  8. Something important you won't be told by WillAffleckUW · · Score: 2, Informative

    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! --
  9. Been There Done That by Space+Cow · · Score: 2, Informative

    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.