In logs and output, we sometimes give command-line examples, such as:
if (crm_config_error) { crm_notice("Configuration errors found during scheduler processing," " please run \"crm_verify -L\" to identify issues"); }
If the user primarily interacts with the cluster via a higher-level tool such as crm shell or pcs, they might prefer an example of an equivalent higher-level command. It might be worthwhile to allow specifying alternative messages. This would be conceptually similar to NLS.
Command-line tool help itself would never be substituted. If someone runs the help for a command, they want to know how to use that command. Substitutions would mostly be for log messages, although some command-line tool output would likely be affected.
One possible implementation would be to allow higher-level tools to provide a file with substitutions. Messages would be tagged in some way, the file would list tags and their substitutions, and Pacemaker would read that file at start-up and load the substitutions into an array.
Once we have a true configuration file, the file location could be specified there. That would allow both daemons and tools to see it. Distributions and sysadmins could set it to the file provided by their preferred higher-level tool. If the config file allows per-user overrides for some parameters, users could even select their own preferred tool if more than one is available.