GNOME Bugzilla – Bug 327353
[patch] Strings from gnome schemas are not translated
Last modified: 2018-06-29 20:55:15 UTC
Files like src/gnome/schemas/apps_gnucash_warnings.schemas contains several user-visible strings in the descriptions of the options. However, these strings 1. do not make it into the po/gnucash.pot file and if they were in there 2. they are not yet translated. How do we get them into gnucash.pot, and how do we pass them through gettext? This should be fixed for a final 2.0.0 release.
setting target milestone to 1.9.2 - in particular this should be fixed for the string freeze.
Mentioned on gnucash-devel in https://lists.gnucash.org/pipermail/gnucash-devel/2005-December/015152.html Need to check whether the intltool-update scripts already do the right thing when passed the schema files as arguments. Unfortunately no documentation mentions excplicitly how schema files are supposed to be translated.
Sigh. Unfortunately there's a bug in the intltool-update script that is provided by intltool; we would need to require the following patch either to intltool-update or to intltool-update.in: 72c72 < "schemas(?:\\.in)+|". # GConf specific --- > "schemas(?:\\.in)*|". # GConf specific 239c239 < elsif ($type =~ /schemas(\.in)+$/) --- > elsif ($type =~ /schemas(\.in)*$/)
Submitted as bug against intltool, bug#327507 . As can be verified in cvs http://cvs.gnome.org/viewcvs/intltool/intltool-update.in.in?view=annotate this problem still exists in the current intltool-update script. We should probably add a workaround in gnucash's configure.in to get around this problem.
As I stated in #327507 I am adding myself to the CC:. Will provide help in a bit, or you can ping on IRC as well.
So from the comment in bug#327507 it seems we need to 1. rename our blabla.schemas files into blabla.schemas.in 2. add the @INTLTOOL_SCHEMAS_RULE@ into all those Makefile.am. The definition of that is INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) ...' so this will be responsible for creating foo.schemas from foo.schemas.in 3. modify the schema_DATA variable; instead of (example from http://www.gnome.org/projects/gconf/) schemadir = @GCONF_SCHEMA_FILE_DIR@ dist_schema_DATA = metacity.schemas I guess we need EXTRA_DIST = metacity.schemas.in schemadir = @GCONF_SCHEMA_FILE_DIR@ schema_DATA = metacity.schemas @INTLTOOL_SCHEMAS_RULE@ and the rest will be done by the intltool programs correctly, methinks. Or is there an easier (yet still portable) construct to avoid the doubled mention of these files above?
You can do something like this: schemadir = @GCONF_SCHEMA_FILE_DIR@ schemas_in_files = foo.schemas.in bar.schemas.in schema_DATA = $(schemas_in_files:.schemas.in=.schemas) @INTLTOOL_SCHEMAS_RULE@ EXTRA_DIST = $(schemas_in_files) CLEANFILES = $(schema_DATA) This will then transform .schemas.in to .schemas for use in $schema_DATA, and the .schemas will get installed. Also, adding them to CLEANFILES, means that "make clean" will properly remove the .schemas that were generated from running the make rule to build them.
Fixed as per comment #7 in r12864.
This has already been fixed in 1.9.0, so I change the milestone accordingly.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=327353. Please update any external references or bookmarks.