diff options
author | Norbert Preining <preining@logic.at> | 2009-02-05 11:57:58 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-02-05 11:57:58 +0000 |
commit | e7399656eac0ee225d3de9e0704fa310d05c387f (patch) | |
tree | a1d0d01488dc784b19c78fcaac1c4cdaf1e8ce77 /Master/tlpkg/installer/install-menu-wizard.pl | |
parent | a4dedfcdb3afa877d3f8b32a328a119716f0ec97 (diff) |
installer stuff work:
- factor out the translations initialization to install-translations.pl
- update the perltk-en.sample and german translations for wizard
- make wizard translatable
git-svn-id: svn://tug.org/texlive/trunk@12093 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/installer/install-menu-wizard.pl')
-rw-r--r-- | Master/tlpkg/installer/install-menu-wizard.pl | 191 |
1 files changed, 27 insertions, 164 deletions
diff --git a/Master/tlpkg/installer/install-menu-wizard.pl b/Master/tlpkg/installer/install-menu-wizard.pl index 4a931130718..86cbd66416c 100644 --- a/Master/tlpkg/installer/install-menu-wizard.pl +++ b/Master/tlpkg/installer/install-menu-wizard.pl @@ -40,58 +40,42 @@ no utf8; # # my $tit; - my $can; my $prv; my $nxt; - my $img; - -if (defined($::opt_lang)) { - $::lang = $::opt_lang; - if ($::lang eq "zh") { - # set language to simplified chinese - $::lang = "zh-cn"; - } -} else { - if ($^O =~ /^MSWin(32|64)$/i) { - # trying to deduce automatically the country code - my $foo = TeXLive::TLWinGoo::reg_country(); - if ($foo) { - $::lang = $foo; - } else { - debug("Didn't get any usuful code from reg_country: $foo...\n"); - } - } else { - # we load POSIX and locale stuff - require POSIX; - import POSIX qw/locale_h/; - # now we try to deduce $::lang - my $loc = setlocale(&POSIX::LC_MESSAGES); - my ($lang,$area,$codeset); - if ($loc =~ m/^([^_.]*)(_([^.]*))?(\.([^@]*))?(@.*)?$/) { - $lang = defined($1)?$1:""; - $area = defined($3)?$3:""; - if ($lang eq "zh") { - if ($area =~ m/^(TW|HK)$/i) { - $lang = "zh-tw"; - } else { - # fallback to zh-cn for anything else, that is - # zh-cn, zh-sg, zh, and maybe something else - $lang = "zh-cn"; - } - } - } - $::lang = $lang if ($lang); - } -} - - my $dest; +my $warning; my $mw; my $usedfont; +my $fmain; +my $fbuttons; +my $ftitle; +my $counter; +my $lineskip; + +my $LEFT = 130; +my $RIGHT = 50; +my $TOP = 50; +my $BOTTOM = 50; +my $INF = 300; +my $MWIDTH = 730; +my $MHEIGHT = 480; +my $TITLEHEIGHT = 30; +my $BUTTONSHEIGHT = 50; +my $INNERWIDTH = ($MWIDTH - $LEFT - $RIGHT); +my $INNERHEIGHT = ($MHEIGHT - $TOP - $TITLEHEIGHT - $BOTTOM - $BUTTONSHEIGHT); + +our %text; +our %labels; +require("installer/install-translations.pl"); + +# the main installer runs %{$::run_menu} +$::run_menu = \&run_menu_wizard; ###################################################################### +# From here on only function definitions +# #################################################################### sub setup_hooks_wizard { push @::info_hook, @@ -122,122 +106,6 @@ sub wizard_update_progressbar { } } -my %text = ( title => 'TeX Live 2008 Installation', - basicinfo => 'Basic Information', - custom => 'Further Customization', - dirsetup => "Directory setup", - options => 'Options', - sysint => 'System Integration', - change => 'Change', - toggle => 'Toggle', - install => 'Install TeX Live', - finbut => 'Finish', - quit => 'Quit', - ok => 'Ok', - cancel => 'Cancel', - status => 'Status output', - changevar => 'Change variable value', - enterpath => 'Enter path for', - hinthome => '(use ~ for %%%)', - selectscheme => 'Select a scheme', - selectstdcol => 'Select the collections to be installed', - selectall => 'Select All', - selectnone => 'Deselect All', - selectlang => 'Select language support', - selectdoc => 'Select language-specific documentation', - createsym => 'create symlinks in standard directories', - binto => 'binaries to', - manto => 'manpages to', - infoto => 'info to', - selectsys => 'Select arch-os', - outof => 'out of', - collof => 'collections out of', - diskreq => 'disk space required', - yes => 'Yes', - no => 'No', - notwritable => '(default not writable - please change!)', - changetexdir => '(please change TEXDIR first!)', - nolangcol => '(no language collection selected!)', - finished => 'See TEXDIR/index.html for links to documentation.\nThe TeX Live web site (http://tug.org/texlive/) contains any updates and corrections. TeX Live is a joint project of the TeX user groups around the world; please consider supporting it by joining the group best for you. The list of groups is available on the web at http://tug.org/usergroups.html.', - finishedpath => 'Add TEXDIR/texmf/doc/man to MANPATH.\nAdd TEXDIR/texmf/doc/info to INFOPATH.\nMost importantly, add TEXDIR/bin/PLATFORM\nto your PATH for current and future sessions.', - welcome => 'Welcome to TeX Live!', - next => 'Next >', - prev => '< Back', - wizhello => "Welcome to the installation of TeX Live 2008\nhttp://tug.org/texlive\n\nThis wizard will guide you through the installation.", - destfolder => 'Destination folder:', - advcustom => 'Advanced customization', - pathinfo => "The destination folder will contain the installation.\nIt is strongly recommended to keep the year as the last component.", - readyinst => "We are ready to install TeX Live 2008.\nThe following settings will be used.\nIf you want to change something please go back,\notherwise press the \"Install\" button.", - instshort => 'Install', - ); - - -my %labels = ( binsys => 'Binary System(s)', - scheme => 'Selected Scheme', - stdcoll => 'Standard Collections', - langcoll => 'Language Collections', - texdir => 'TEXDIR (the main TeX directory)', - localdir => 'TEXMFLOCAL (directory for site-wide local files)', - sysvardir => 'TEXMFSYSVAR (directory for autogenerated data)', - sysconfigdir => 'TEXMFSYSCONFIG (directory for local config)', - texmfhome => 'TEXMFHOME (directory for user-specific files)', - optletter => 'Use letter size instead of A4 by default', - optfmt => 'Create all format files', - optdoc => 'Install font/macro doc tree', - optsrc => 'Install font/macro source tree', - symlink => 'Create symlinks in system directories', - ); - -if (($::lang ne "en") && ($::lang ne "C")) { - if (! -r "$::installerdir/tlpkg/installer/lang/perltk-$::lang") { - tlwarn ("\n Sorry, no translations available for $::lang; falling back to English. - (If you'd like to help translate the installer's messages, please see - http://tug.org/texlive/doc.html#install-tl-xlate for information.)\n\n"); - } else { - # merge the translated strings into the text string - open(LANG, "<$::installerdir/tlpkg/installer/lang/perltk-$::lang"); - my %trans; - while (<LANG>) { - chomp; - next if m/^\s*#/; - next if m/^\s*$/; - my ($a,$b) = split(/:/,$_,2); - $b =~ s/^\s*([^\s])/$1/; - $b =~ s/\s*$//; - if (!utf8::decode($b)) { - warn("decoding string to utf8 didn't work:$b\n"); - } - $b =~ s/\\n/\n/g; - $trans{"$a"} = "$b"; - } - close(LANG); - foreach my $k (keys %text) { - $text{$k} = $trans{"text.$k"} if defined($trans{"text.$k"}); - } - foreach my $k (keys %labels) { - $labels{$k} = $trans{"label.$k"} if defined($trans{"label.$k"}); - } - } -} - - -my $LEFT = 130; -my $RIGHT = 50; -my $TOP = 50; -my $BOTTOM = 50; -my $INF = 300; -my $MWIDTH = 730; -my $MHEIGHT = 480; -my $TITLEHEIGHT = 30; -my $BUTTONSHEIGHT = 50; -my $INNERWIDTH = ($MWIDTH - $LEFT - $RIGHT); -my $INNERHEIGHT = ($MHEIGHT - $TOP - $TITLEHEIGHT - $BOTTOM - $BUTTONSHEIGHT); - -my $fmain; -my $fbuttons; -my $ftitle; -my $counter; -my $lineskip; ################# WELCOME SCREEN ###################################### sub run_menu_wizard { @@ -284,7 +152,6 @@ sub run_menu_wizard { Tk::MainLoop(); return($return); } -$::run_menu = \&run_menu_wizard; sub reset_start { for ($fmain->children) { @@ -302,8 +169,6 @@ sub reset_start { ################## PATH SCREEN ################################ -my $warning; - sub ask_path { for ($fmain->children) { $_->destroy; @@ -478,8 +343,6 @@ sub wizard_installation_window { $can->placeForget; $nxt->configure(-text => $text{'cancel'}, -command => sub { $return = $MENU_ABORT; $mw->destroy; }); - -# set the vars calc_depends(); do_installation(); $::progress->value(110); |