intltool bugfix

Brian J. Tarricone bjt23 at cornell.edu
Mon Aug 25 04:36:59 CEST 2008


Hey guys,

I checked in a little thing to xfce4-dev-tools to fix a problem with
intltool-merge, at least in intltool 0.37.x.  Anyone building packages
that contain settings dialogs MUST update xfce4-dev-tools from svn
trunk, otherwise you'll get incorrect strings in the settings manager.

Please watch autogen.sh output (right after it says it's running
intltoolize) and let me know if patching intltool-merge.in fails.  If
this happens, please file a bug on bugzilla and include:

1.  A copy of intltool-merge.in from the toplevel source dir of the
package you're trying to compile.
2.  Your intltool version number.

The explanation:

I'm finally fixing how the settings manager finds settings dialogs
(yes, Nick, I finally caved in to your way), and I ran into a nasty
intltool bug that's making things not work.  I've added a key to the
settings dialogs' .desktop files:

_X-XfceSettingsName=Blah

The idea here is it's a super-short name that should be shown in the
dialog (most of them have something like "Xfce 4 Blah Settings" for
Name= and "Blah Settings" for GenericName=, both of which are too long
and redundant... yes, we know they're "Settings", no need to display it
in the UI).

Aaaanyhow, intltool apparently hates .desktop keys that have a dash in
the key name.  So even tho intltool-extract correctly extracts "Blah"
above from the .desktop.in file and puts it in the .pot file,
intltool-merge doesn't merge the strings for that line, and just
outputs the line as-is (even with the leading underscore) into the
output .desktop file.

So, boo that.

Awesomely enough, intltoolize copies intltool-merge into the toplevel
source dir of our packages, and the fix is a nice easy 2-liner.  The
intltool-merge.in file gets shipped in dist packages.  So, I patched
xdt-autogen to patch intltool-merge.in after running intltoolize to fix
this little problem.

	-b



More information about the Xfce4-dev mailing list