summaryrefslogtreecommitdiff
path: root/Master/tlpkg/installer/install-menu-wizard.pl
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-02-05 11:57:58 +0000
committerNorbert Preining <preining@logic.at>2009-02-05 11:57:58 +0000
commite7399656eac0ee225d3de9e0704fa310d05c387f (patch)
treea1d0d01488dc784b19c78fcaac1c4cdaf1e8ce77 /Master/tlpkg/installer/install-menu-wizard.pl
parenta4dedfcdb3afa877d3f8b32a328a119716f0ec97 (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.pl191
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);