P18 is a fast and flexible general purpose file preprocessor capable of translating messages using a message translation database. Even though internationalization is the key feature of P18, it also provides macro processing and conditional output. P18 is well suited for internationalizing web applications written in PHP (or any other web scripting language).
Slightly different approach
The idea of a standardized command line interface is pretty old, however nothing has been really agreed on. The big problem is to get a lot of people cooperating before things start working. I'd suggest a slightly different mechanism for invoking commandline tools from a GUI toolkit and/or environment:
1. Start with wrapper scripts for the commandline tools. These wrappers implement a standardized commandline interface and call the original programs. These wrapper scripts should reside in a special directory (e.g. $PREFIX/lib/ccli-bin/$PROGRAM).
2. When (if?) the CCLI standard is accepted by the masses, then the entries in the special directory will be replaced by links to the original command line programs.
This approach makes the transition easier, and the CCLI standard definition may evolve before the tool authors start adding support for it. The difficult part is to come up with a good CCLI standard.
A very important point is to provide a reference implementation. This includes a C version, Python and Tcl bindings, a pure Java implementation, ... A lot of work. Adding support for the CCLI to an existing program should be as easy as possible!
If somebody is willing start such a CCLI project, I might be willing to help (e.g. by doing some of the reference implementation work), so just ask :)