Debian::L10n::Db(3pm) | User Contributed Perl Documentation | Debian::L10n::Db(3pm) |
Debian::L10n::Db - handle database of debian l10n stuff
use Debian::L10n::Db; my $l10n_db = Debian::L10n::Db->new(); $l10n_db->read("../data/unstable"); foreach ($l10n_db->list_packages()) { print "Package $_ ".$l10n_db->version($_)."\n"; }
This module is an interface to the database files used in several places of the debian localisation infrastructure, such as the webpages under "webwml/<language>/internaltional/l10n/".
my $l10n_db = Debian::L10n::Db->new();
$l10n_db->read("foo");
$l10n_db->write("foo");
$l10n_db->clear_pkg("foo");
Data about packages can be classified within scalar values ("package", "version", "section", "priority", "maintainer", "pooldir", "type", "upstream"), arrays ("errors", "catgets", "gettext"), and arrays of arrays ("nls", "po", "po4a", "templates", "podebconf", "man", "menu" and "desktop"). Each field has a method with the same name to get and set it, e.g.
$section = $l10n_db->section($pkg); $l10n_db->section($pkg, "libs");
The first line get the section associated with the package in $pkg, whereas the second set it to "libs".
Two other methods are also defined to access those data, by prefixing field name by "has_" and "add_". The former is used to ask whether this field is defined in database, and the latter appends values for arrays or arrays of arrays.
if ($l10n_db->has_templates($pkg)) { print "Package $pkg has Debconf templates\n"; } $l10n_db->add_po($pkg, 'po/fr.po', 'fr', '42t0f0u', 'po/adduser_3.42_po_fr.po');
Copyright (C) 2001-2004 Denis Barbier <barbier@debian.org> Copyright (C) 2004 Martin Quinson <enough@spam>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
2021-01-05 | perl v5.32.0 |