I'm seeking the answer to both questions :
1. What was the original reason to have an evaluated expression as return of get_string_from_file(), and the call to sprintf() ?
2. I'm trying to have a language pack that could switch easily some keywords all through, allowing administrator to switch the semantics of some key concepts at configuration time. The reason is that some Moodle customisaton may introduce some new situations that would need such shifting.
Key words such as "course", "category", "theme", "section", "sudent", "teacher", etc. are defining a small set (about 40 to 50 keywords) that drives the entire application of the platform. Those keywords appear in quite every lang files, and are pretty frequent, so any change for adapting the platform to a contextual situation will require hours in langpack reworking.
There is absolutely no way to inject some recursive call to get_string in lang files, as this introduces a mad loop in the language implementation.
If someone knows whatever genious trick to inject some globals or parametrization in lang strings expressions .... (avoiding using get_string() parm injection that would change all calls to get_string() and all string related functions !!)
Thanks guys.... !!