Is the default language (i.e., $$$DefaultLanguage, which is used as the basis for localization with $$$Text/etc. at compile time) always "en" for new Caché installations, or could it be different? How is this determined? I don't see an option to select a language during Caché installation.
Also, is there a supported/preferred API for setting the default language? Looking at %occMessages.inc, one option would be:
Set $$$DefaultLanguageNode = "en"
But I'd expect there to be a classmethod for this somewhere (and haven't managed to find it yet).
Background: My team is concerned about what might happen to the ^CacheMsg global if application code is compiled on other systems (possibly with different settings?) and messages are added as a result. I'm guessing there isn't a huge risk here, because compilation doesn't overwrite ^CacheMsg; the worst that could happen is that a "localized" value in the wrong language ends up in the global as an initial value. (I think this would still be a problem, in our case.)
UPDATE: My initial statement about compilation not overwriting ^CacheMsg is wrong. If a value is changed in the dictionary in the default language, compilation will fail with an error like:
ERROR: test.MAC(3) : MPP5646 : ##expression failed with an error: $ze=<ZDUPL>macroText+48^%occMessages
This is because it looks the same as a hash collision.