[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [d-i alpha1 I18N] Untranslated menu entry regarding speech synthesizer



Quoting Christian PERRIER (bubulle@debian.org):
> Quoting Cyril Brulebois (kibi@debian.org):
> > Samuel Thibault <sthibault@debian.org> (15/05/2012):
> > > It was and it is translated in 27 languages already, but I guess I
> > > missed something that needs to be done to get them fed into d-i?
> > 
> > Need to be sync'd into svn://svn.debian.org/svn/d-i/trunk/packages/po I think?
> 
> 
> In theory, no. The same setup exists for "eject" that provides a udeb,
> which menu entry should be visible in the main menu.
> 
> These packages being developed outside D-I GIT, their PO files can' be
> aggregated into the "master" files in packages/po....but that is not
> needed as, from the specification of D-I menu, a package that provides
> a udeb just needs to provide a debconf template named
> "debian-installer/<package>/title"
> 
> Hmmmm, wait, that might be the problem.....eject's template is
> debian-installer/eject-udeb/title
> 
> espeakup's debconf template name should then probably be
> "debian-installer/espeakup-udeb/title"

That seems to be the problem.  See, from main-menu.c:

/* Returns a the text of the menu entry for PACKAGE (in a buffer
 * that will persist until the next call of the function) */
const char *menu_entry(struct debconfclient *debconf, di_system_package *package)
{
	char question[menu_entry_maxlen];
	static char buf[menu_entry_maxlen];

	snprintf(question, sizeof(question), "debian-installer/%s/title", package->p.package);
	if (!debconf_metaget(debconf, question, "Description")) {
		strncpy(buf, debconf->value, menu_entry_maxlen);
		return buf;
	}

	/* The following fallback case can go away once all packages
	   have transitioned to the new form.  */
	di_log(DI_LOG_LEVEL_INFO, "Falling back to the package description for %s", package->p.package);
	if (package->p.short_description)
		strncpy(buf, package->p.short_description, menu_entry_maxlen);
	else
		buf[0]='\0';
	return buf;
}


I think that Holger will probably see something like "Falling back to
the package description for espeakup-udeb" in /var/log/syslog. This
should appear when espeakup-udeb is loaded, which should happen when
main-menu is first loaded as espeakup-udeb is on the netboot ISO
image, so loaded as early as possible.

Holger, could you check this? Just need to go to VT2 after booting the
installer and go back to the main menu from (I guess) the first
question you get.

The main menu entry then defaults to the short description of
espeakup-udeb and guess what it is?

Package: espeakup-udeb
Section: debian-installer
Architecture: any
Priority: extra
Depends: ${shlibs:Depends}, ${misc:Depends}, espeak-data-udeb, alsa-base-udeb [linux-any], alsa-utils-udeb [linux-any], libnss-files-udeb
Description: Configure the speech synthesizer voice
 This is a statically linked version of espeakup, optimized for use on
 installation media.
XC-Package-Type: udeb
XB-Installer-Menu-Item: 1050


The same wording than the menu entry...:-)

So, the fix seems to be renaming the debconf template in espeakup.

Attachment: signature.asc
Description: Digital signature


Reply to: