Yeah, so this is how you could do it:
Your form should only have field, not the language-specific strings. Then you introduce two secondary data source:
The Text data source will just define your localization schema. For example, it can look like this:
<localization>
<fieldPrompt>Default english text</fieldPrompt>
</localization>
You can then use textboxes or even better, expression boxes to display the prompts (make sure to use this trick so that the text shows in InfoPath Design mode as well: http://www.infopathdev.com/blogs/david/archive/2007/07/16/Showing-default-values-from-Secondary-Data-Sources.aspx)
Then you define another secondary data source with your translations:
<languages>
<language id="en-US">
<fieldPrompt>Enter data</fieldPrompt>
</language>
<language id="fr-FR">
<fieldPrompt>Entrez les données</fieldPrompt>
</language>
</languages>
Then in your code you will copy the language currently chosen into the Text data source and you're done!
I understand these steps could be a bit complicated but this gives you the most flexible translation scheme and it works pretty well in both IP2003 and IP2007.
Good luck!
David Airapetyan / Software Services ArchitectQdabra® Software / Streamline data gathering to turn process into knowledge