UPDATE: As this post seems to be weirdly popular compared to anything else I’ve written on this ghost-town of a blog, I figured I’d make note of another tool I’ve been using recently. In the years since this post was originally made, I have moved on from AGTH to Interactive Text Hooker. It’s much more straightforward to set up and generally works a lot better.
ORIGINAL POST: Like I mentioned in my previous (and, thus far, only) post, a huge portion of my ReadMOD page count came from reading Umineko no Naku Koro ni, Episode 7—a visual novel (or “sound novel,” as 07th Expansion calls it). Umineko’s text is by far more complicated and obscure kanji–heavy than anything else I read that month. In fact, the only way I made it through in under a year is through the use of a couple tools that hooked into the game and provided me with line-by-line furigana and on-demand word lookups.
Now, if you’ve ever thought about reading a Japanese visual novel but weren’t sure you had the ability to, you probably ran across a tool called AGTH—the Anime Game Text Hooker—or, otherwise, a program called Translation Aggregator. Translation Aggregator is typically used to allow non–Japanese speakers to squirm their ways through ugly machine translations of visual novels, but it has a couple excellent features for Japanese learners, which is what I used to get through Umineko. No translations here, just some quick definitions when needed and your own existing knowledge.
Anyway, let’s get to setting the program up for some real use.
First of all, download Translation Aggregator (linked above), and extract it somewhere. It comes with AGTH, which we’ll also be using. You’ll also want to grab MeCab and edict2. When you download edict2, extract the file into Translation Aggregator’s “dictionaries” directory.
Next, pick a game you want to hook into. For the example, I’ll be using Umineko and Chaos;Head to illustrate two different hooking methods.
Create a shortcut to the game and open up the shortcut’s properties.
Now, there are two possible things you’ll have to do here, just depending on the game: Either AGTH can automatically generate hooks into the game, in which case things are gonna be easy, or you’ll have to tell AGTH where to create the hook, in which case it’s not much harder, but a little more work.
We’ll start out with Umineko, which falls under the first category. You should try to do this with any game first.
Anyway, you’ve got the shortcut’s properties box open. Change the target as follows:
[AGTH Path] /C /L [Game Path]
“X:\Programs\Translation Aggregator 0.4.4c\agth.exe” /C /L “C:\Program Files\Umineko4\うみねこのなく頃に.exe”
(Note that WordPress is converting the quotes into directional quotes, but you should use straight quotes when creating your shortcuts.) When you open the shortcut now, AGTH will load up and hook to the game automatically. The /C parameter tells AGTH to copy whatever text it hooks to your clipboard, and the /L parameter makes AGTH act sort of like AppLocale.
With AGTH open, navigate to somewhere with text. With any luck, AGTH should have caught that, and it’ll be displaying in the program’s text box. If not, there should be a drop-down menu with a list of AGTH’s hooks. Scroll through the list until you find the hook that caught your game’s text. If you don’t find one, then you probably have to go with method 2. Be careful, however, to ensure that what you’re looking for is actually text and not image-rendered text or something like that.
One other thing to keep in mind: if your game has the option to change text speed, set it to the highest possible speed (preferably instant display) so AGTH doesn’t send text to your clipboard in fragments. You want to get full lines if at all possible.
Now, in the case of Chaos;Head, AGTH is unable to generate hooks automatically, so you have to tell it where to hook.
To do this, change the game’s shortcut target as follows:
[AGTH Path] /C [Hook] /pn[Game EXE]
Here’s how my Chaos;Head target looks:
“X:\Programs\Translation Aggregator 0.4.4c\agth.exe” /C /HAN-C@45A576 /pnChaosHead.exe
Now, a good place to find these hooks is here, which seems to have a good number of games covered.
Now, load up the game (using the game’s original executable, or a separate shortcut, but NOT the one you just created). If your system isn’t set to for Japanese locale, you’ll probably need to run it through AppLocale, since AGTH isn’t going to provide you with a locale itself.
Once the game is loaded, double-click on the shortcut you created and AGTH should pop up. As with before, navigate somewhere with text (not graphical text, but actual game text), and then click through the drop-down box in AGTH. You should see something labeled “UserHook” now. That’s your custom hook, and you should see the game’s text sitting there. If not, then the hook is probably incorrect, or you might have copied it incorrectly. Check to make sure both that you’re looking at text and that the hook you set in the shortcut matches the one you found.
As before, if you can, set the game’s text speed to maximum so AGTH can grab full lines.
Now that you’ve got AGTH hooking into your game (hopefully), load up Translation Aggregator. The first thing you’ll want to do is get rid of all those extraneous boxes. Most of them try to provide translations of the text, which isn’t what we’re wanting it to do. I only keep three boxes open: Original Text, MeCab, and JParser. If you installed MeCab and extracted edict2 like I said above, they should work right out of the box.
The reason I use both MeCab and JParser is because, while they both do similar things, they both end up with different results some of the time, so it’s useful to have two points of reference if you’re not sure on something. But, as always, use your own judgment and don’t rely exclusively on the parsers. They are prone to making mistakes, and some really stupid ones at that, so be careful. This isn’t meant to read the visual novels for you, just provide you with an aid, so it’s up to you whether to trust the results or use your own judgment.
Play with the settings and find something you like, but you should be set from here. In both the MeCab and JParser boxes, you can hover over a word and see the definition. The reason I don’t use the WWWJDIC box is because I find it’s too tempting to just look at the definitions if they’re immediately available, so I keep them at arm’s length—just a hover away—to keep my eyes from wandering and keep my brain working.
Just as an example, here‘s what my setup looks like when it’s all done.
Now get out there and read all those visual novels you’ve been too intimidated to open up in the past. It’s an extremely rewarding experience.