Thank you both so much for the info. I'll share what I've learned so far because I think this is a really interesting topic but discussed little. As st33d said, I am using format strings like "adjective adjective noun" and swapping a token string. I intend to have graphical representations, so while not entirely necessary, cool names are just fun
First, for phrases and sentences this just isn't going to work according to some things
I've read. For user interface text I discovered mygengo.com
which seems like a relatively affordable way to translate menus, titles, etc... I will need different format strings for different languages for when order needs fixing (ex. "A of B" needs to be "B of A")
I've received two confirmations that the token swapping will make sense for Chinese (thanks paladin_t!) and Japanese which are my primary targets. So, I think I'm going to structure my project and code to accept translations from the start. I don't want to have to go back and patch it on later. If I'd found that the names were just going to be gibberish I wouldn't have bothered. Below is a PM I received on another forum which was really useful for Japanese. Maybe it will help others too.
I'd love to hear other developer's thoughts on pitfalls/considerations/benefits/etc... to localizing your game.
*A random name generation will work nicely in Japanese too, as long as you choose words carefully. Certain Rogue-like (or Diablo-like) RPGs, such as the Japanese-localized version of *NetHack *or *Angband*, are the good examples.
The easiest way is to transcript all keywords into katakana (That's the standard method to import foreign words directly).
e.g. *Megapower Gun* => メガパワー・ガン megapawā gan
Some players insist that it's the best way to keep the atmosphere of the original text. But in my opinion, it really depends.
For example, Japanese gamers will immediately grasp the nuance of "*Thief's Dagger*", because both "thief" and "dagger" are quite familiar words to them. But perhaps they will have a hard time with "*Infiltrator's Dagger*" in katakana. So I advise you to avoid overusing this method.
You should provide a way to exchange the positions of those keywords. Some languages including Japanese don't have a structure like "*A of B*", and you have to write it as "*B の A*".
e.g. *Scroll of Avacyn* (The card in M:tG) => アヴァシンの巻物 (The official translation)
This practice contributes more when you're translating a main text, say, a "_*%PLAYERNAME%* attacked *%MONSTERNAME%* with *%WEAPONNAME%*_"-style phrase.