Lucian Muresan wrote: >> How does this translate into gettext? Does each plugin use its own >> textdomain(), and if, how does the domain switching happen? > > I think so, every plugin should have it's own domain (therefore, po -> > mo file). The switching would be done in the tr() macro (it's underlying > function) when invoked with the plugin name argument Just realized: There's a dgettext() that can be used instead of temporarily switching the domain. > If the translations are to be cached in memory, they would be read once > at startup of VDR and each plugin, and a dynamically allocated Phrases[] > array would be filled with their contents Probably worth to investigate whether that is really better. If gettext has been implemented in a smart way, its probably much faster than the current VDR i18n implementation. And pre-loading all strings may also add to the VDR startup time. Cheers, Udo