I wonder if you'd be better off using a source translator like Damian Conway's Filter::Simple. Then you could use more natural Perlish syntax, and just replace any "..." literal with the translation based on your module recognizing the literal text and replacing it from your hash for the current language (maybe stored in an environment variable). Then you wouldn't have runtime issues at all, all the translating would be at compile time...but you could have a runtime interface to your module for on-demand translation also, of course.
HTH,
SSF