How about CS2D, which uses internally-stored strings to use as text on the screen in game play, loads a text file that holds all of the string/names used in the game? This would be used as what many would know as a "language file".
The internal structure is just a list of strings, such as:
(etc)
If no language file is found, then the strings that are already hardcoded into the game will not be replaced on run-time (easy changeable string pointers - I know it can be done in code, and written into the game within 5-10 minutes)
If however there is a language file, it will replace (client sided of course) all of the strings within the executable, with the strings from the language file in consecutive order.
This would solve these problems:
+People of foreign languages would not be limited to English as a language
+Modders would be able to change resource names for in-game texts without editing the code of the game