diff options
author | Daouda Lo <daouda@mandriva.com> | 2003-06-27 17:23:54 +0000 |
---|---|---|
committer | Daouda Lo <daouda@mandriva.com> | 2003-06-27 17:23:54 +0000 |
commit | 6bd1eec5d86841490440d96984e413f19c2150b7 (patch) | |
tree | beb25d2118b7e49b2f74ee2fc650f2fba0fe5354 | |
parent | 5a54312a349f93f7962c76d328676fe00dc36594 (diff) | |
download | userdrake-6bd1eec5d86841490440d96984e413f19c2150b7.tar userdrake-6bd1eec5d86841490440d96984e413f19c2150b7.tar.gz userdrake-6bd1eec5d86841490440d96984e413f19c2150b7.tar.bz2 userdrake-6bd1eec5d86841490440d96984e413f19c2150b7.tar.xz userdrake-6bd1eec5d86841490440d96984e413f19c2150b7.zip |
- fix translation crash
-rwxr-xr-x | userdrake | 44 |
1 files changed, 25 insertions, 19 deletions
@@ -36,23 +36,23 @@ my $conffile = '/etc/sysconfig/userdrake'; my $secfile = '/etc/sysconfig/msec'; my $pixdir = '/usr/share/userdrake/pixmaps/'; -#c::bind_textdomain_codeset('userdrake', 'UTF8'); -#sub translate { - # my ($s) = @_; - # my $r = $s ? c::dgettext('userdrake', $s) : ''; - # c::set_tagged_utf8($r); - # $r; -#} -#sub sprintf_fixutf8 { - # my $need_upgrade; - # $need_upgrade |= to_bool(c::is_tagged_utf8($_)) + 1 foreach @_; - # if ($need_upgrade == 3) { c::upgrade_utf8($_) foreach @_ }; - # sprintf shift, @_; -#} -#sub N { - # my $s = shift @_; my $t = translate($s); - # sprintf_fixutf8 $t, @_; -#} +c::bind_textdomain_codeset('userdrake', 'UTF8'); +sub translate { + my ($s) = @_; + my $r = $s ? c::dgettext('userdrake', $s) : ''; + c::set_tagged_utf8($r); + $r; +} +sub sprintf_fixutf8 { + my $need_upgrade; + $need_upgrade |= to_bool(c::is_tagged_utf8($_)) + 1 foreach @_; + if ($need_upgrade == 3) { c::upgrade_utf8($_) foreach @_ }; + sprintf shift, @_; +} +sub N { + my $s = shift @_; my $t = translate($s); + sprintf_fixutf8 $t, @_; +} my $in = interactive->vnew('su'); @@ -75,6 +75,12 @@ my $gtree_model = Gtk2::ListStore->new(Gtk2::GType->STRING, Gtk2::GType->INT, Gt my ($usertree, $grouptree); $usertree = CreateTree($utree_model); $grouptree = CreateTree($gtree_model); my ($checkedit, $checkdel, $checkall); +# slightly verbatimed from control-center +my %options = ( + 'edit' => [ N("/_Actions"), N("/_Edit") ], + 'delete' => [ N("/_Actions"), N("_Delete") ], + 'filter' => [ N("/_Options"), N("/_Filter system users") ] + ); my ($menu, $factory) = create_factory_menu($us->{wnd}{rwindow}, ({ path => N("/_File"), type => '<Branch>' }, { path => N("/_File") . N("/_Refresh"), callback => sub { Refresh($sysfilter, $stringsearch)} }, @@ -82,8 +88,8 @@ my ($menu, $factory) = create_factory_menu($us->{wnd}{rwindow}, { path => N("/_Actions"), type => '<Branch>' }, { path => N("/_Actions") . N("/_Add User"), callback => \&AddUser }, { path => N("/_Actions") . N("/Add _Group"), callback => \&AddGroup }, - { path => N("/_Actions") . N("/_Edit"), callback => \&Edit }, - { path => N("/_Actions") . N("/_Delete"), callback => \&Delete }, + { path => join('', @{$options{edit}}), callback => \&Edit }, + { path => join('', @{$options{}}), callback => \&Delete }, { path => N("/_Options"), type => '<Branch>' }, { path => N("/_Options") . N("/_Filter system users"), type => '<CheckItem>', callback => sub { $sysfilter = $checkall->active; Refresh($sysfilter, $stringsearch) } }, |