GNOME Bugzilla – Bug 133369
intltool-merge hadnling of schema files with a default tag containing a list is broken.
Last modified: 2004-12-22 21:47:04 UTC
intltool-merge strips any string of the form [.*] from the beginning of the <default> tags in a gconf schema file. This is apparently done, according to bug #94611, to accomodate allow descriptions to be entered in string values. Unfortunately it also removes gconf arrays (which use the syntax [foo, bar, baz]) from the C locale <default> entry in the output file. The line that does this is: $c_default_block =~ s/default>\[.*?\]/default>/s; in intltool-merge. I'm not sure what the best answer is, but checking the type of the schema may be a good start. I can work around this for the moment by prepending a space before the opening [. For an example of where arrays that need translation are used (and I think the only place in core GNOME it is used) see gtali.schemas.in in the gnome-games package. It is used to encode a list of names.
I am kind of voting for changing that line: $c_default_block =~ s/default>\[.*?\]/default>/s; because I dont really see any use of it. Well I guess we agreed that this is not a good way to add comments to xml files, and all it does it break things for others. Feel free to remove that line (or comment it out) and commit. Kenneth
OK, I've removed the line in CVS. Things seem to work fine for me now.
FWIW the use of the bracketed text in the values was explained in bug #94611 - point 3 of the first comment there. Removing it removes the feature. So now there is no way to resolve a conflict between two identical msgids(both default gconf values) requiring different translation. Perhaps the better fix would have been to change the markers. Anyway...
How about using xml comments ? C comments are abused in this way so why not abuse xml comments in the same way ? Using [] breaks an already existing feature of gconf. They can't come back. Besides I couldn't actually find any examples of a schema file using them, not in core gnome-desktop anyway.
*** Bug 121330 has been marked as a duplicate of this bug. ***
*** Bug 138646 has been marked as a duplicate of this bug. ***