Archive for the ‘Japanese’ Category

IMUG: Game Localization: Are We Having Fun Yet?

Thursday, June 17th, 2010

Tonite at the International Multilingual User Group (IMUG), Anthony Fitzgerald from SimulTrans gave a good talk, “Game Localization: Are We Having Fun Yet?”

Anthony has extensive experience in game localization, going back to Sierra On-Line’s Leisure Suit Larry franchise (challenging to localize because the user input was freeform text) and Valve Corporation’s Half-Life (requiring about 6 months to localize.)

Also many members of the game development community were there, including an Ubisoft localization project manager and SO-L’s fourth staff programmer.

Localization staff typically have to play the game for a week to understand how it works and what work needs to be done. :)

There are various localization levels for games:

  1. Just localize the box art
  2. Add subtitles
  3. Localize everything

For networked games, some additional issues are:

  • localize just the client (user) program, or also the server too?
  • what if player messages to each other are in different languages?

Cheats are very helpful to expedite testing when testing levels, features, etc.
Testing on the lowest supported resolution is the fastest way to find font and string problems.

When testing PC games, particular graphics cards may be needed. Localizing console games is more involved though, requiring a developer console and software development licenses, possibly costing thousands of dollars per console.

Besides the usual challenges in localizing products, games have 2 additional steps:

  1. for console games, manufacturer (Sony, Nintendo, or Microsoft) acceptance testing is required. 10 to 15 days need to be scheduled for the initial test run, followed by 5-10 days per round of additional testing for rejected games. Additional test runs are billed by the mfg.
  2. government ratings boards, like ESRB in USA.

Also, holiday deadlines for games are literally that: missing a holiday means that your audience has already spent their discretionary budget, so the release is fruitless.

Thanks to Google for hosting the meeting.

IMUG: Internationalizing Twitter

Thursday, May 20th, 2010

Mark Sanford did a comprehensive talk on i18n at Twitter.

He was on the Summize team that Twitter bought, so originally worked on search, then ended up being the i18n guy.

Twitter had a lot of things stacked against it i18n-wise:

- unilingual source tree
- no budget to do any real engineering initially
- Japanese tree translated by outside volunteer partner, Digital Garage
- primitive Unicode support in MySQL and Ruby
- now a legacy system full of data, hard to add metadata like lang/locale at this point.

Japanese cell phone support was challenging because:

- Shift_JIS, not Unicode
- each of 3 carriers uses a different image format and different emoji codepoints, some overlapping
- lack of l10n resources in house for Japanese-flavor design, including being cute, dense and also having an ad to demonstrate business seriousness
- Japan uses cellular emails, not SMS like other places
- mobile browsers don’t support cookies, so URL sessions needed unlike the regular Ruby web app
- hard to tokenize short messages in Japanese.
- need QR (Quick Response) code support (2D barcode)


QR Code

QR Code

Remarkably, Twitter was invited by a number of carriers to support their phones.

Crowdsourced translations using Google Groups, interns and app integrated with Twitter site. Now up to 3,700 strings and 2,600 translators. Hard to translate informal terms like tweet and follower though.

There was very good turnout, with 60 attendees live and 6 online.

Thanks to Adobe for hosting the venue. (Though I don’t understand why there is a 3-year NDA for attending a public meeting.)

techcrunch.com: Twitter Has Basically Doubled In Staff In The Past 6 Months (June, 2010)
Official Twitter Blog

Restaurant Review: Gochi Japanese Restaurant, Cupertino

Thursday, May 20th, 2010

GocHi Japanese Restaurant Logo

I had lunch at GocHi Japanese Fusion Tapas Restaurant in Cupertino.

They have a choice of traditional Japanese-style seating, or chairs with table. The menu is in both English and Japanese.

I had the salmon teriyaki with California rolls, and my friend had salmon sashimi.

The food was delicious, well-prepared and hot.

The bill was reasonable at $27.00 for two people plus tip.

GocHi Japanese Fusion Tapas Restaurant
19980 Homestead Road, Cupertino, CA 95014 408.725.0542
m-f 11:30-1:30/6-10 | sat 5:30-9:30

wikipedia: Sushi
skunkpost.com: Food blogger photographers give restaurant owners indigestion

sf.pm.org: Oops! I i18n’d your app

Wednesday, August 26th, 2009

Perl Camel LogoJeff Goff (DrForr) gave a sf.pm.org talk on internationalizing web apps at Six Apart in San Francisco.

(It was a long trip from San Jose on the Caltrain. I knew that I had arrived in San Francisco when I could smell the stench of urine upon leaving the station.)

Jeff mentioned working on ticketmaster.com before, and used S5 slides to illustrate a variety of localization issues with languages like Chinese, Japanese and Malaysian.

Some of his tips for identifying and preventing translation string corruption were:

  • check for double-encoding of UTF-8 strings, perhaps with Test::utf8::is_sane_utf8()
  • check complete toolchain for UTF-8 cleanliness
  • can use Unicode script and block properties to identify language when possible, as documented in perldoc perlunicode
  • use RCS pre-commit hook feature to inspect checkins, though can be slow with large input files.
  • important to decide how much cleanup the translator is responsible for vs. internal.
  • JavaScript string localization will likely require careful escaping of quotes.

Audience members also suggested:

  • enable online web editing of translations as well as batch export
  • consider locking columns if translators use excel worksheets.

As always, my comment is that it’s more important to focus on locale definition than charsets in i18n projects.

Several members were looking for perl jobs, so post your offers on the mailing list.

Thanks to Six Apart for hosting the meeting.

Juerd’s Perl Unicode Advice
Unicode.org
wikipedia: UTF-8
Jeff’s CPAN

PHP Light-weight Web Application Requirements

Monday, July 6th, 2009

A lot of web designers are using complete CMS systems like Drupal and Joomla as foundations for custom PHP/MySQL web apps that are not really CMS apps.

The main disadvantage with doing that is that they are relatively large codebases, and each site developed that way ends up using (and hosting) a different version of the CMS.

It would be nice to have a light-weight alternative that is more app framework-oriented.

Some of the items I would expect in any modern PHP webapp:

  • PHP 5.2+ support
  • Free and Open Source
  • horizontally scalable, same as raw PHP
  • filters extension support
  • ORM and non-ORM database queries
  • memcached support
  • Work in all browsers
  • authenticated sessions with salted, multiple-round MD5 and SHA-1 hashing of password
  • Relative links for installation multiple times on same server, or on different servers (dev/stage/prod)
  • Reasonably secure sessions – hard to steal a login cookie, no private data in cookie
  • App should degrade but still mostly work without JavaScript
  • 100% input filtering and validation
  • No XSS or XSRF problems
  • No SQL injection problems
  • AJAX support (MooTools provides light-weight AJAX support – MIT licensed) or maybe jquery (MIT or GPL)
  • Reporting with scalable/resizable/emailable graphs like OpenFlash ( with OFCGWT – LGPL licensed)
  • I18n support (locales, UTF-8, admin emails.)
  • No database-specific APIs like mysql_*()
  • Amazon EC2, S3 and EBS support (like Zend_Service_Amazon_Ec2)
  • Search widget built-in for SOLR or Sphinx
  • Help widget built-in
  • App is always aware of locale and does the right thing
  • Not XHTML
  • End-user can do language translation, similar to Facebook.com
  • Content is easily shareable
  • TinyURLs available for content links
  • Replication-aware and resistant.
  • Retargetable output display formats.

For business webapps:

  • Subaccounts
  • Payment processing

For the Japanese market:

  • Login/logout session history for auditing
  • Separate CSS for Japanese locale (mostly to reduce font size)
  • Maru (circle) instead of checkmark.
  • Somebody Japanese to test it.

Please leave a comment if you have any thoughts.

Some popular existing PHP frameworks:

CakePHP + Zend Framework Impressions
Drake: CakePHP Drupal Module

PHP PEAR
Feb. 2008: Notes on Choosing a PHP Framework: A Comparison of CakePHP and the Zend Framework
2006: Rasmus Lerdorf – The no-framework PHP MVC framework
ringsworld.com: PHP input-filter

Long Weekend in Hawaii

Monday, May 25th, 2009

I had a relaxing long weekend in Honolulu. It’s nice to have a change of scenery periodically.

It was fairly quiet in Waikiki, as Japanese tourists are still afraid of the swine flu and mainland Americans do the “staycation”. Both the flight on Hawaiian Airlines and the room at the Continental Surf Hotel were quite inexpensive.

I went on a short airplane flight with a female instructor at Flight School Hawaii in a Cessna 172SP.

Blue skies, Kona winds, practise area, a couple landings at Kalaeloa Airport (formerly called Barbers Point), back to HNL 22L.

The 172SP was beautiful except for 1 interesting problem. The magnetic compass had leaked into the Garmin 430 GPS, ruining most of the LCD display. D’oh!

Otherwise I hung out in the hotel or walked on Waikiki beach (quite humid even at night.)

The huge abandoned CompUSA superstore on Ala Moana is still empty, 2 years later.

Duke’s Waikiki was 100% full at dinner time, prolly the only crowded place I saw.

The street performers were even more varied than last time. I hadn’t seen the steel drums performer or magician before.

The Continental Surf Hotel is pretty basic. It has medium-sized rooms with AC and basic cable, coin laundry, a cursory gym (3 cardio machines and a universal machine, no free weights, in a too-small room), and a jumbo flat screen TV in the lobby tuned to a sports channel. Some people rent rooms monthly. There are only 2 small elevators, so if one broke, that could be a problem. Nice view on the roof of Waikiki and Diamondhead.

cessnaowner.org: Rebuilding a Compass

IMUG: Globalization and Software Test Automation

Thursday, March 19th, 2009

Dana Li, Business Development Manager at hiSoft, gave a a talk on software localization and QA at IMUG.

These days, software company clients typically provide an internationalized product to hiSoft, and they translate it into 8 to 25 languages, then test the result for correct translation and functional behavior.

hiSoft uses whatever testing framework the client uses, so those can vary from commercial Silktest or QTP, to Open Source selenium. The hiSoft folks didn’t express any strong preference for frameworks.

AJAX is more difficult to do test automation for, as the entire page can be dynamic.

Generally nobody provides source code to be internationalized (like the web 1.0 days.)

An interesting project they did was to QA Chinese OCR software.

But every project has its own complications.

Afterward an Arabic consultant chatted a little about how Modern Standard Arabic (MSA) has standardized Arabic writing world-wide, but there is a local spoken dialect in each region.

Thanks again to Apple for hosting IMUG.

IMUG Meeting: iPhone International Features and Apps

Thursday, November 20th, 2008

Lee Collins and Deborah Goldsmith from Apple gave a comprehensive talk on internationalization support on the iPhone since the English-only 1.0 release. Now at 2.1, dozens of languages are supported, driven by potential sales markets.

They have a very strict space budget for code and fonts since every byte they use is one less for the end-user.

As much as possible, they try to provide the full ICU API for developers to use.

Regular Truetype fonts are used, though there’s no hint information and there’s no mechanism to add your own.

Chuck Soper (Vela Design Group) talked about porting VelaClock to the iPhone, and made some recommendations for the Apple iPhone apps store.

He would like to see longer sales history information than 7 days, ideally unlimited. Also, he would like to see feedback and ratings reviews across countries, since loading 100 country forums is tedious.

He also wanted to know best to provide mib and strings to translators.

He says half his sales come from the Apple Store.

Some of his customers use VelaClock to do things like plan night flights.

I had a chances to try out the Blackberry Bold, with it’s new UI and hi-res screen. The screen has the same number of pixels as an iPhone, but half the dimensions.

I also tried a gPhone. It has a built-in compass, so Google StreetView knows what direction you’re pointing the phone and can show real-time updates based on that direction. Very cool to see.

Thanks to Apple for hosting the event in Cupertino.