Multilingual front page- redirect anonymous users based on browser language
This is inspired by a deleted answer, but my first approach would be to have the whole site built with Panels, and then have an English variant and Japanese variant for each.

For each variant, you would use the PHP Code selection rule, and then add your logic.

For unauthenticated users, you could examine $_SERVER["HTTP_ACCEPT_LANGUAGE"] and return the proper thing.  For authenticated users, would would use your normal method.

Preferably, you would put the logic in a module function that you would call from the PHP Code selection rule, so you only need to change things in one place.  You could also do a ctools plugin to make your own selection rule, too, using the same logic.