well there seems to be a consensus that your changes make sense.
I have however a few questions about the implementation:
You want the plug-ins to register their domain and a path to the
catalog. If I understand you correctly, this is done by calling
gimp_domain_add () in the query function of the plug-in. This
query function is usually only run when the plug-in is found for
the first time, afterwards the information is read in from the
pluginrc. I guess that's why you want to add that info to a new
file called localerc.
When gimp reads in the known plugins from the pluginrc, it checks
for removed plug-ins and removes them from its list. It also
checks the modification time and queries the plugin again if it
has changed since the last time the pluginrc was written.
What will happen if you remove a plugin that has added a new
domain to the localerc? The entry in the localerc will stay.
What will happen if the plugin is changed and uses another
domain name or another domain path?
What will happen if people delete the localerc, but not the
pluginrc? This is something people are used to do. Deleting a
file in your ./gimp dir normally resets everything back into
a sane state. Well, it wouldn't work that good for your
So why, I ask you, don't we just put the locale information
into the pluginrc. It should be trivial to extend the parser
to optionally read two additional lines after the proc-args
in the form of:
This will mean a slight drawback in startup time, since of course
it should check for the presence of the mo-file at the given
location to avoid having gettext doing that lookup every time a
menu entry is translated. Since this entries would be optional and
only used for plug-ins added on top of the standard distribution,
I doubt it would hurt us much.