Bug 5777 Update and install syspref tab titles

This allow also Save button label translation

[3.2] It applies

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit eaf4cfe6b8)

Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
This commit is contained in:
Frédéric Demians 2011-02-19 11:55:23 +01:00 committed by Chris Nighswonger
parent 0208c9d661
commit 70580dc5e7
1 changed files with 11 additions and 2 deletions

View File

@ -131,7 +131,7 @@ sub add_prefs {
}
}
}
elsif ( $element ) {
elsif ( $element && $pref_name ) {
$self->po_append( $self->{file} . "#$pref_name# $element", $comment );
}
}
@ -173,7 +173,7 @@ sub update_tab_prefs {
}
}
}
elsif ( $element ) {
elsif ( $element && $pref_name ) {
my $id = $self->{file} . "#$pref_name# $element";
my $text = $self->get_trans_text( $id );
$p->[$i] = $text if $text;
@ -189,6 +189,8 @@ sub get_po_from_prefs {
for my $file ( @{$self->{pref_files}} ) {
my $pref = LoadFile( $self->{path_pref_en} . "/$file" );
$self->{file} = $file;
# Entries for tab titles
$self->po_append( $self->{file}, $_ ) for keys %$pref;
while ( my ($tab, $tab_content) = each %$pref ) {
if ( ref($tab_content) eq 'ARRAY' ) {
$self->add_prefs( $tab, $tab_content );
@ -254,6 +256,13 @@ sub install_prefs {
for my $file ( @{$self->{pref_files}} ) {
my $pref = LoadFile( $self->{path_pref_en} . "/$file" );
$self->{file} = $file;
# First, keys are replaced (tab titles)
$pref = do {
my %pref = map {
$self->get_trans_text( $self->{file} ) || $_ => $pref->{$_}
} keys %$pref;
\%pref;
};
while ( my ($tab, $tab_content) = each %$pref ) {
if ( ref($tab_content) eq 'ARRAY' ) {
$self->update_tab_prefs( $pref, $tab_content );