Check-in [568eebab16]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

SHA1 Hash:568eebab16224484aae61b51cac36362ed783f15
Date: 2012-01-31 23:48:59
User: BarryK
Comment:rodin.s: internationalized alsaconf, alsawizard, askpass, bcrypt_gui (added bcrypt_gui_help), bootflash, bootmanager, burniso2cd

Tags And Properties
Changes

Changes to woof-code/rootfs-skeleton/usr/sbin/alsaconf

@@ -24,29 +24,31 @@
 #110405 fix 'free' applet output format different in later versions of busybox.
 #110506 /etc/init.d/10alsa name fix, but this fix might break alsaconf as option 'stop' then 'restart' might not be handled properly in 10alsa.
 #110509 rerwin: take version from alsacctl.
 #110509 rerwin: remove sound card entry in /etc/modprobe.d/alsa.conf before writing it.
 #110519 warning msg that reboot may be required.
+#120201 rodin.s: update internationalized.
 
 #101015 check for low ram, warn full depmod may not work... 110405...
 #FREEMEM=`free | tr -s ' ' | grep -o 'Total: [0-9]*' | cut -f 2 -d ' '`
 memTOTALK=`free | grep -o 'Mem: .*' | tr -s ' ' | cut -f 2 -d ' '`
 swapTOTALK=`free | grep -o 'Swap: .*' | tr -s ' ' | cut -f 2 -d ' '`
 TOTALMEM=`expr $memTOTALK + $swapTOTALK`
-
-if [ $TOTALMEM -lt 99000 ];then
- yaf-splash -placement center -bg pink -close box -text "This computer has very little RAM, perhaps not enough to run the 'depmod' utility (which the ALSA Wizard needs to run). Shutdown first, to create a save-file for the session, and you may then have enough working memory at the next boot. Click button to exit Wizard..."
- exit
-fi
+#rodin.s: removed later in script for i18n
+#if [ $TOTALMEM -lt 99000 ];then
+# yaf-splash -placement center -bg pink -close box -text "This computer has very little RAM, perhaps not enough to run the 'depmod' utility (which the ALSA Wizard needs to run). Shutdown first, to create a save-file for the session, and you may then have enough working memory at the next boot. Click button to exit Wizard..."
+# exit
+#fi
 
 cfgfile="/etc/modprobe.d/alsa.conf" #101014
 touch /etc/modprobe.d/alsa.conf
 
 MYLANG=$LANG
 export LANG=C #to keep Xdialog happy.
 export TEXTDOMAIN=alsaconf
-export XDIALOG_HIGH_DIALOG_COMPAT=1 #101015
+export OUTPUT_CHARSET=UTF-8
+#export XDIALOG_HIGH_DIALOG_COMPAT=1 #101015 # rodin.s: comment out for better layout in Russian
 #DIALOG=dialog
 DIALOG='Xdialog' #101015
 
 prefix=/usr
 exec_prefix=${prefix}
@@ -76,10 +78,15 @@
 xmsg() {
   msg=$(LANG=$MYLANG  gettext "$1")
   shift
   printf "$msg" $*
 }
+# moved it here for gettext to work - rodin.s
+if [ $TOTALMEM -lt 99000 ];then
+ yaf-splash -placement center -bg pink -close box -text "$(xmsg 'This computer has very little RAM, perhaps not enough to run the "depmod" utility (which the ALSA Wizard needs to run). Shutdown first, to create a save-file for the session, and you may then have enough working memory at the next boot. Click button to exit Wizard...')"
+ exit
+fi
 
 # Check for GNU/Linux distributions BK...
 distribution="unknown"
 
 for prog in lspci lsmod; do
@@ -261,11 +268,11 @@
 fi
 
 # Check for root privileges
 if [ `id -u` -ne 0 ]; then
   xecho "You must be root to use this script."
-  yaf-splash -placement center -bg pink -close box -text "You must be root to use this script."
+  yaf-splash -placement center -bg pink -close box -text "$(xmsg 'You must be root to use this script.')"
   exit 1
 fi
 
 #
 # check the snd_ prefix for ALSA module options
@@ -368,11 +375,11 @@
   $DIALOG --title "ALSA Sound Wizard" --cr-wrap --msgbox "$msg" 20 63 || acex 0
 }
 
 # FAREWELL BK...
 farewell() {
-  local msg=$(gettext "
+  local msg=$(xmsg "
 
      OK, sound driver is configured.
 
                   ALSA  WIZARD
           will prepare the card for playing now.
@@ -381,13 +388,13 @@
            initialise ALSA, amixer used to raise volume.
 
      You can change the volume later via a mixer
      program such as Retrovol (Multimedia menu), or
      click on speaker icon in tray for volume slider.
-  ") #110506
+  ")
   echo "Sound driver configured." #101017
-  $DIALOG --title "ALSA Sound Wizard" --cr-wrap --msgbox "$msg" 17 60 || acex 0
+  $DIALOG --title "ALSA Sound Wizard" --cr-wrap --msgbox "$msg" 20 60 || acex 0
 }
 
 # Exit function
 acex() {
   cleanup
@@ -559,11 +566,11 @@
 	yaf-splash -placement center -bg pink -close box -text "No card database is found."
 	exit 1
     fi
     ncards=`grep '^snd-.*\.o$' $CARDID_DB | wc -w`
 
-    msg=$(gettext "Searching sound cards")
+    msg=$(xmsg "Searching sound cards")
     awk '
 BEGIN {
 	format="%-40s %s\n";
 	ncards='"$ncards"';
 	idx=0;
@@ -793,11 +800,11 @@
     else
 	set_mixers
     fi
     if [ -f $TESTSOUND ]; then
     #BK...
-      msg=$(gettext "
+      msg=$(xmsg "
        The mixer is set up now for for playing.
        Shall I try to play a sound sample now?
 
                            NOTE:
 If you have a big amplifier, lower your volumes or say no.
@@ -1126,12 +1133,12 @@
     done
     return 1
 }
 
 ac_config_legacy () {
-   title=$(gettext "WARNING")
-   msg=$(gettext "
+   title=$(xmsg "WARNING")
+   msg=$(xmsg "
    Probing legacy ISA cards might make
    your system unstable.
 
         Do you want to proceed?
 
@@ -1150,24 +1157,24 @@
 	if [ x"$cardname" != x ]; then
 	    menu_args=("${menu_args[@]}" "$card" "$cardname" "on")
 	fi
     done
     if [ x$menu_args = x ]; then
-	msg=$(gettext "No legacy drivers are available
+	msg=$(xmsg "No legacy drivers are available
    for your machine")
 	$DIALOG --title "ALSA Wizard" --msgbox "$msg" 5 50
 	return 1
     fi
-    title=$(gettext "Driver Selection")
-    msg=$(gettext "           Probing legacy ISA cards
+    title=$(xmsg "Driver Selection")
+    msg=$(xmsg "           Probing legacy ISA cards
 
         Please select the drivers to probe:")
     $DIALOG --title "$title" --cr-wrap --checklist "$msg" \
 	17 64 8 "${menu_args[@]}" 2> $FOUND || acex 0
 
     if [ $try_all_combination != 1 ]; then
-	msg=$(gettext "
+	msg=$(xmsg "
  Shall I try all possible DMA and IRQ combinations?
  With this option, some unconventional configuration
  might be found, but it will take much longer time.")
 	if $DIALOG --title "ALSA Wizard" --cr-wrap --yesno "$msg" 10 60
 	    then
@@ -1174,11 +1181,11 @@
 	    try_all_combination=1
 	fi
     fi
 
     xecho "Probing legacy cards..   This may take a few minutes.."
-    echo -n $(gettext "Probing: ")
+    echo -n $(xmsg "Probing: ")
     cards=`cat $FOUND | tr -d \"`
     for card in $cards; do
 	echo -n " $card"
 	ac_opts=""
 	if eval ac_try_card_$card ; then
@@ -1186,12 +1193,12 @@
 	    ac_config_card $card $ac_opts
 	    return 0
 	fi
     done
     echo
-    title=$(gettext "Result")
-    msg=$(gettext "No legacy cards found")
+    title=$(xmsg "Result")
+    msg=$(xmsg "No legacy cards found")
     $DIALOG --title "$title" --msgbox "$msg" 5 50
     return 1
 }
 
 #
@@ -1216,20 +1223,20 @@
     fi
 fi
 
 #script execution starts here...
 #110519 warning msg that reboot may be required...
-msg0='The ALSA Wizard unloads any sound drivers and then starts again.
+msg0=''$(xmsg 'The ALSA Wizard unloads any sound drivers and then starts again.
 This causes a problem if you decide to exit anywhere before the
 Wizard has gone right to the end -- if you previously had working
 sound, it will then not be working -- but a reboot will fix it.
 Also, unloading of the audio drivers may affect some dialup modems,
 and they may not work after running this Wizard -- again, a reboot
-will fix it.
+will fix it.')'
 
-Do you want to continue and run the Wizard?...'
-$DIALOG --title "ALSA Sound Wizard: NOTICE" --cr-wrap --yesno "$msg0" 0 0 || exit 0
+'$(xmsg 'Do you want to continue and run the Wizard?...')''
+$DIALOG --title "$(xmsg 'ALSA Sound Wizard: NOTICE')" --cr-wrap --yesno "$msg0" 0 0 || exit 0
 
 #welcome window...
 intro
 
 if [ $do_legacy_only = 1 ]; then
@@ -1261,11 +1268,11 @@
     #
     # check for TP600E
     #
     if [ ${devs_found[0]} = cs46xx ]; then
 	if $lspci -nv 2>/dev/null| grep -q "Subsystem: 1014:1010"; then
-	    msg=$(gettext "
+	    msg=$(xmsg "
  Looks like you having a Thinkpad 600E or 770 notebook.
  On this notebook, CS4236 driver should be used
  although CS46xx chip is detected.
 
  Shall I try to snd-cs4236 driver and probe
@@ -1275,11 +1282,11 @@
 		try_all_combination=1
 		ac_config_legacy cs4236
 		exit 0
 	    fi
 	elif $lspci -nv 2>/dev/null| grep -q "Subsystem: 8086:8080"; then
-	    msg=$(gettext "
+	    msg=$(xmsg "
  Looks like you having a Dell Dimension machine.
  On this machine, CS4232 driver should be used
  although CS46xx chip is detected.
 
  Shall I try to snd-cs4232 driver and probe
@@ -1294,12 +1301,12 @@
     fi
 
     #BK john doe submitted this...
     #devs_found=("${devs_found[@]}" "legacy" "Probe legacy ISA (non-PnP) chips")
     devs_found=("${devs_found[@]}" "legacy" "Probe: legacy ISA (non-PnP) chips" "usb-audio" "Override: USB Sound Device" "aoa" "Override: Apple Onboard Audio")
-    title=$(gettext "Soundcard Selection")
-    msg=$(gettext "
+    title=$(xmsg "Soundcard Selection")
+    msg=$(xmsg "
          Following card(s) are found on your system.
          Choose a soundcard to configure:
 ")
     $DIALOG --title "$title" --cr-wrap --menu "$msg" 17 76 8 "${devs_found[@]}" 2> $FOUND || acex 0
     card=`head -n 1 $FOUND`
@@ -1309,11 +1316,11 @@
 	ac_config_card "$card"
     fi
     exit 0
 else
     echo "...no device found" #101017
-    msg=$(gettext "
+    msg=$(xmsg "
         No supported PnP or PCI card found.
 
  Would you like to probe legacy ISA sound cards/chips?
 
 ")

Changes to woof-code/rootfs-skeleton/usr/sbin/alsawizard

@@ -1,7 +1,11 @@
 #!/bin/sh
 #Lesser GPL licence v2 (/usr/share/doc/legal/lgpl-2.1.txt). 2007 www.puppylinux.com
+#120201 internationalized.
+
+export TEXTDOMAIN=alsawizard
+export OUTPUT_CHARSET=UTF-8
 
 #if [ "`/etc/rc.d/rc.alsa status | grep "not loaded"`" = "" ];then
 # Xdialog --title "ALSA sound Wizard" --yesno "ALSA sound modules are currently loaded and active.\n
 #If you answer Yes here, modules will be unloaded,\nand the Wizard will continue.\nAnswer No, Wizard will exit..." 0 0
 # [ ! $? -eq 0 ] && exit
@@ -21,50 +25,50 @@
 #   <frame THREE: Reboot>
 #    <text><label>It is unusual, but presuming that you have booted Puppy for the first time, sometimes you have to shutdown (and create a session save-file) and reboot for sound to work. Various peripherals, especially modems, may have conflicting kernel sound driver requirements, which might not get sorted out until the second boot. If you played with the mixer settings but your sound is still not working, it is recommended that you still do not run the ALSA Wizard, instead choose to reboot (see menu). Recommend click 'EXIT' button below.</label></text>
 #   </frame>
 
  export ASKDIALOG="
-<window title=\"Sound Wizard\" window_position=\"1\">
+<window title=\"$(gettext 'Sound Wizard')\" window_position=\"1\">
   <vbox>
 
-   <text use-markup=\"true\"><label>\"<big>Welcome to the Sound Wizard</big>\"</label></text>
-   <text><label>Presumably you are here because your sound does not work? If so, there are things that you should try before running the full ALSA Wizard</label></text>
+   <text use-markup=\"true\"><label>\"<big>$(gettext 'Welcome to the Sound Wizard')</big>\"</label></text>
+   <text><label>$(gettext 'Presumably you are here because your sound does not work? If so, there are things that you should try before running the full ALSA Wizard')</label></text>
 
-   <frame ONE: Adjust levels>
+   <frame $(gettext 'ONE: Adjust levels')>
     <hbox>
-     <text><label>Often non-working sound is just a matter of unmuting (tick a checkbox) and/or bring up a level in the audio mixer. Click this button to run the mixer:</label></text>
+     <text><label>$(gettext 'Often non-working sound is just a matter of unmuting (tick a checkbox) and/or bring up a level in the audio mixer. Click this button to run the mixer:')</label></text>
      <vbox><button><input file>${AUDIOICON}</input><action>/usr/local/bin/defaultaudiomixer & </action></button></vbox>
     </hbox>
    </frame>
 
-   <frame TWO: Play test sound>
+   <frame $(gettext 'TWO: Play test sound')>
     <hbox>
-     <text><label>Having adjusted the levels, click this button to play a test sound:</label></text>
+     <text><label>$(gettext 'Having adjusted the levels, click this button to play a test sound:')</label></text>
      <vbox><button><input file>${AUDIOICON}</input><action>/usr/bin/aplay /usr/share/audio/2barks.au & </action></button></vbox>
     </hbox>
     <hbox>
-     <text><label>On some hardware (very rare fortunately) sound plays but does not always stop! If your Puppy will not stop barking, click this button:</label></text>
+     <text><label>$(gettext 'On some hardware (very rare fortunately) sound plays but does not always stop! If your Puppy will not stop barking, click this button:')</label></text>
      <vbox><button><input file>/usr/local/lib/X11/mini-icons/mini-stop.xpm</input><action>/usr/bin/killall aplay</action></button></vbox>
     </hbox>
    </frame>
 
-   <frame THREE: Multiple cards>
+   <frame $(gettext 'THREE: Multiple cards')>
     <hbox>
-     <text><label>Linux may have detected more than one audio interface or 'card', and has set the wrong one as default. Run Kirk's Multiple Sound Card Wizard to investigate this (note, a reboot is required for change to take effect):</label></text>
+     <text><label>`gettext \"Linux may have detected more than one audio interface or 'card', and has set the wrong one as default. Run Kirk's Multiple Sound Card Wizard to investigate this (note, a reboot is required for change to take effect):\"`</label></text>
      <vbox><button><input file>${AUDIOICON}</input><action>/usr/bin/Multiple-Sound-Card-Wizard & </action></button></vbox>
     </hbox>
    </frame>
 
-   <text><label>FOUR: After trying ONE, TWO, THREE above, sound still not working, click 'ALSA Wizard' button:</label></text>
+   <text><label>`gettext \"FOUR: After trying ONE, TWO, THREE above, sound still not working, click 'ALSA Wizard' button:\"`</label></text>
 
     <hbox>
      <button>
-       <label>ALSA Wizard</label>
+       <label>$(gettext 'ALSA Wizard')</label>
        <action type=\"exit\">RUNALSA</action>
      </button>
      <button>
-       <label>EXIT</label>
+       <label>$(gettext 'EXIT')</label>
        <action type=\"exit\">EXIT</action>
      </button>
     </hbox>
 
   </vbox>

Changes to woof-code/rootfs-skeleton/usr/sbin/askpass

@@ -1,28 +1,32 @@
 #!/bin/sh
 #Barry Kauler 2011, GPL3 (/usr/share/doc/legal)
 #specified in /etc/sudoers or /etc/sudo.conf, gui-helper for sudo. (path compiled-in to my sudo PET)
 #110513 display name of app that is requesting to run.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAIN=askpass
+export OUTPUT_CHARSET=UTF-8
 
 PSALL="`ps`"
 CALLEDAPP="`echo "$PSALL" | grep -o ' sudo \-A .*' | tr -s ' ' | cut -f 4 -d ' '`"
 if [ "$CALLEDAPP" ];then
- INSERTMSG="    <text><label>This application wants to run:</label></text>
+ INSERTMSG="    <text><label>$(gettext 'This application wants to run:')</label></text>
     <text><label>${CALLEDAPP}</label></text>
-    <text><label>The administrator password is required:</label></text>
+    <text><label>$(gettext 'The administrator password is required:')</label></text>
 "
 else
- INSERTMSG="<text><label>Please enter the administrator password required to run this application:</label></text>"
+ INSERTMSG="<text><label>$(gettext 'Please enter the administrator password required to run this application:')</label></text>"
 fi
 
 if [ $DISPLAY ];then
  export ASKDIALOG="
 <window title=\"AskPass\" decorated=\"false\" window_position=\"1\" skip_taskbar_hint=\"true\">
   <vbox>
   <frame>
     ${INSERTMSG}
-    <entry invisible_char=\"x\" visibility=\"false\"  width_chars=\"25\">
+    <entry visible_char=\"x\" visibility=\"false\"  width_chars=\"25\">
       <variable>ADMINPASSWORD</variable>
     </entry>
 
     <hbox>
      <button ok></button>
@@ -33,14 +37,14 @@
 "
  RETVAL="`gtkdialog3 --program=ASKDIALOG 2>/dev/null`"
  eval "$RETVAL"
 else
  echo >/dev/console
- echo -n "Type admin password required to run this app: " >/dev/console
+ echo -n "$(gettext 'Type admin password required to run this app:') " >/dev/console
  read -t 30 ADMINPASSWORD
  [ "$ADMINPASSWORD" = "" ] && echo '...failed' >/dev/console
 fi
 
 #echo "$RETVAL"
 
 echo "$ADMINPASSWORD" #return password to sudo.
 ###END###

Changes to woof-code/rootfs-skeleton/usr/sbin/bcrypt_gui

@@ -1,15 +1,22 @@
 #!/bin/sh
-#Barry Kauler, April 2009. GPL v3 licence.
+#(c) Barry Kauler, April 2009. GPL v3 licence (refer: /usr/share/doc/legal).
 #gui for 'bcrypt' file encrypt/decrypt.
 #$1 is normally invoked by clicking on a .bfe file in rox, $1 has full path.
 #also supports drag and drop.
 #most of this code was written by coolpup, I have just butchered it a bit.
 #w482 dogone: password must be 8 chars, logic fixed.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAIN=bcrypt_gui
+export TEXTDOMAINDIR=/usr/share/locale
+export OUTPUT_CHARSET=UTF-8
+. gettext.sh
+export LANGORG=$LANG
 
 if [ "`which bcrypt`" = "" ];then
- xmessage -center -bg red "The 'bcrypt' package must be installed first."
+ xmessage -center -bg red "`gettext \"The 'bcrypt' package must be installed first.\"`"
  exit
 fi
 
 #if [ ! $1 ];then
  #run from the menu. this section was originally created by 'coolpup', jan. 2009.
@@ -26,34 +33,34 @@
    DEFAULT=""
   else
    DEFAULT="<default>${SOURCEFILE}</default>"
   fi
   export BCRYPT="
-<window title=\"Bcrypt file encryption\" icon-name=\"gtk-file\">
+<window title=\"$(gettext 'Bcrypt file encryption')\" icon-name=\"gtk-file\">
 <vbox>
-  <text><label>Welcome, this is a GUI for the 'bcrypt' utility, to encrypt or decrypt a file</label></text>
-   <text use-markup=\"true\"><label>\"<b>For file encryption or decryption, drag the file here ↓    </b>\"</label></text>
+  <text><label>`gettext \"Welcome, this is a GUI for the 'bcrypt' utility, to encrypt or decrypt a file\"`</label></text>
+   <text use-markup=\"true\"><label>\"<b>$(gettext 'For file encryption or decryption, drag the file here') ↓    </b>\"</label></text>
   <hbox>
   <entry accept=\"directory\">${DEFAULT}<variable>SOURCEFILE</variable></entry>
   </hbox>
   ${MSG2}
   <hbox>
-   <text><label>Enter password:</label></text>
+   <text><label>$(gettext 'Enter password:')</label></text>
    <entry invisible_char=\"x\" visibility=\"false\">
     <variable>PASSWORD1</variable>
    </entry>
   </hbox>
   <hbox>
-   <text><label>Reenter password:</label></text>
+   <text><label>$(gettext 'Reenter password:')</label></text>
    <entry invisible_char=\"x\" visibility=\"false\">
     <variable>PASSWORD2</variable>
    </entry>
   </hbox>
 
   <hbox>
   <button help>
-   <action>Xdialog --wrap --screencenter --left --title \"Pcrypt - HELP\" --msgbox \"Bcrypt is a cross-platform file encryption utility which means that encrypted files are portable across all supported operating systems and processors, of which Linux and Win32 are two of them.\n\nIt is used for encrypting files, and can be used for secure deletion, which is better than any common file shredder since the deleted file has been encrypted beforehand. It is available from the main menu and from the right-click context menu by default for most of the basic text, image, and audio file types.\n\nPassphrases must be between 8 and 56 characters and are hashed internally to a 448 bit key (the largest keysize supported by the blowfish algorithm) regardless of the passphrase size. However, all characters supplied are significant since the stronger your passphrase, the more secure your data will be. WARNING: If you forget the encryption key (passphrase) your file can never be opened again in your lifetime and probably never will.\n\nBy default, bcrypt will compress input files before encryption, remove input files after they are processed (assuming they are processed successfully), and overwrite the original input files with random data three times before deleting them in order to prevent data recovery by unauthorized persons.\n\nEncrypted files will be saved with an extension of .bfe. Any files ending in .bfe will be assumed to be encrypted with bcrypt, and so bcrypt will attempt to decrypt them. Any other input files will be encrypted.\n\nBcrypt uses the blowfish encryption algorithm published by Bruce Schneier in 1993.\n\nPcrypt was created by coolpup for Puppy Linux, February 2009 GPL v3 Licence.\nBcrypt_gui based on Pcrypt, by Barry Kauler, April 2009.\n\nBcrypt copyright (c) 2002 Johnny Shelley All rights reserved. Licence supplied.\" 600x0</action>
+   <action>bcrypt_gui_help</action>
   </button>
   <button cancel></button>
   <button ok></button>
   </hbox>
 </vbox>
@@ -66,16 +73,16 @@
   [ "$PASSWORD2" = "" ] && break
   [ "$SOURCEFILE" = "" ] && break
   [ ! -f "$SOURCEFILE" ] && break
   BYTES1=`echo -n "$PASSWORD1" | wc -c`
   if [ $BYTES1 -lt 8 ];then #w482 dogone advised, change from -le.
-   MSG2="Password needs to be at least 8 characters!"
+   MSG2="$(gettext 'Password needs to be at least 8 characters!')"
    MSG2="<text use-markup=\"true\"><label>\"<b>${MSG2}</b>\"</label></text>"
    continue
   fi
   if [ "$PASSWORD1" != "$PASSWORD2" ];then
-   MSG2="The password entries do not match!"
+   MSG2="$(gettext 'The password entries do not match!')"
    MSG2="<text use-markup=\"true\"><label>\"<b>${MSG2}</b>\"</label></text>"
    continue
   fi
 
   DIRNAME="`dirname "$SOURCEFILE"`"
@@ -106,14 +113,14 @@
 DIRNAME="`dirname $1`"
 NAMEONLY="`basename $1`"
 cd $DIRNAME
 STATUS=1
 
-MSG1="To unencrypt this file, enter the password:"
+MSG1="$(gettext 'To unencrypt this file, enter the password:')"
 while [ $STATUS -ne 0 ];do
  export MAIN_DIALOG="
-<window title=\"Bcrypt decryption\" icon-name=\"gtk-file\">
+<window title=\"$(gettext 'Bcrypt decryption')\" icon-name=\"gtk-file\">
  <vbox>
   <text>
    <label>${MSG1}</label>
   </text>
   <entry invisible_char=\"x\" visibility=\"false\">
@@ -135,10 +142,11 @@
  [ "$PASSWORD1" = "" ] && break
 
  echo "$PASSWORD1" | bcrypt "$NAMEONLY"
  STATUS=$?
  if [ $STATUS -ne 0 ];then
-  MSG1="Wrong password! try again:"
+  MSG1="$(gettext 'Wrong password! try again:')"
  fi
 done
 
 ###END###
+# this is original line 60, replaced for gettext: Xdialog --wrap --screencenter --left --title \"$(gettext 'Pcrypt - HELP')\" --msgbox \"$(gettext 'Bcrypt is a cross-platform file encryption utility which means that encrypted files are portable across all supported operating systems and processors, of which Linux and Win32 are two of them.\n\nIt is used for encrypting files, and can be used for secure deletion, which is better than any common file shredder since the deleted file has been encrypted beforehand. It is available from the main menu and from the right-click context menu by default for most of the basic text, image, and audio file types.\n\nPassphrases must be between 8 and 56 characters and are hashed internally to a 448 bit key (the largest keysize supported by the blowfish algorithm) regardless of the passphrase size. However, all characters supplied are significant since the stronger your passphrase, the more secure your data will be. WARNING: If you forget the encryption key (passphrase) your file can never be opened again in your lifetime and probably never will.\n\nBy default, bcrypt will compress input files before encryption, remove input files after they are processed (assuming they are processed successfully), and overwrite the original input files with random data three times before deleting them in order to prevent data recovery by unauthorized persons.\n\nEncrypted files will be saved with an extension of .bfe. Any files ending in .bfe will be assumed to be encrypted with bcrypt, and so bcrypt will attempt to decrypt them. Any other input files will be encrypted.\n\nBcrypt uses the blowfish encryption algorithm published by Bruce Schneier in 1993.\n\nPcrypt was created by coolpup for Puppy Linux, February 2009 GPL v3 Licence.\nBcrypt_gui based on Pcrypt, by Barry Kauler, April 2009.\n\nBcrypt copyright (c) 2002 Johnny Shelley All rights reserved. Licence supplied.')\" 600x0

Changes to woof-code/rootfs-skeleton/usr/sbin/bcrypt_gui_help

@@ -1,1 +1,28 @@
+#!/bin/bash
+#120201 rodin.s: help moved out of bcrypt_gui, internationalized.
+
+export TEXTDOMAIN=bcrypt_gui_help
+export OUTPUT_CHARSET=UTF-8
+
+export HELP_DIALOG="<window title=\"$(gettext "Bcrypt - HELP")\" icon-name=\"gtk-info\">
+<hbox>
+<vbox>
+<text use-markup=\"true\"><label>\"$(gettext 'Bcrypt is a cross-platform file encryption utility which means that encrypted files are portable across all supported operating systems and processors, of which Linux and Win32 are two of them.
+
+It is used for encrypting files, and can be used for secure deletion, which is better than any common file shredder since the deleted file has been encrypted beforehand. It is available from the main menu and from the right-click context menu by default for most of the basic text, image, and audio file types.
+
+Passphrases must be between 8 and 56 characters and are hashed internally to a 448 bit key (the largest keysize supported by the blowfish algorithm) regardless of the passphrase size. However, all characters supplied are significant since the stronger your passphrase, the more secure your data will be. WARNING: If you forget the encryption key (passphrase) your file can never be opened again in your lifetime and probably never will.
+
+By default, bcrypt will compress input files before encryption, remove input files after they are processed (assuming they are processed successfully), and overwrite the original input files with random data three times before deleting them in order to prevent data recovery by unauthorized persons.
+
+Encrypted files will be saved with an extension of .bfe. Any files ending in .bfe will be assumed to be encrypted with bcrypt, and so bcrypt will attempt to decrypt them. Any other input files will be encrypted. Bcrypt uses the blowfish encryption algorithm published by Bruce Schneier in 1993.
+
+Pcrypt was created by coolpup for Puppy Linux, February 2009 GPL v3 Licence.
+
+Bcrypt_gui based on Pcrypt, by Barry Kauler, April 2009.
 
+Bcrypt copyright (c) 2002 Johnny Shelley All rights reserved. Licence supplied.')\"</label></text>
+</vbox>
+</hbox>
+</window>"
+gtkdialog3 --center --program=HELP_DIALOG

Changes to woof-code/rootfs-skeleton/usr/sbin/bootflash

@@ -5,117 +5,127 @@
 #optional drive name passed in, ex: 'sdc'.
 #100913 new simplified puppy filenames.
 #101026 .sfs was not getting copied off cd. various improvements.
 #110130 fix for ldlinux.sys deleted, see jinx100 http://murga-linux.com/puppy/viewtopic.php?t=63719&start=165
 #110505 support sudo for non-root user.
+#120201 rodin.s: internationalized.
 
 [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} #110505
+
+export TEXTDOMAIN=bootflash
+export TEXTDOMAINDIR=/usr/share/locale
+export OUTPUT_CHARSET=UTF-8
+eval_gettext () {
+  local myMESSAGE=$(gettext "$1")
+  eval echo \"$myMESSAGE\"
+}
+export LANGORG=$LANG
 
 PARAM1=""
 [ $1 ] && PARAM1="$1"
 USBDRV="$PARAM1"
 
-export LANG=C
+#export LANG=C # turn off for gettext rodin.s
 . /etc/rc.d/PUPSTATE
 . /etc/DISTRO_SPECS #100913
 
 # <text><label>I suggest, if you haven't looked at the BIOS setup boot choices, quit this program and do that first. It is usually entered by pressing F1 or DEL keys when the computer is just powered on -- plug in the USB drive beforehand so that you can see if the BIOS auto-detects it.</label></text>
 # Please be aware that running this program will erase anything currently on the USB drive.
 # <text><label>The successive fallbacks are to try 'USB-ZIP' then 'USB-FDD'. Ticking one of these radiobuttons will format the USB drive such that it seems like a zip or floppy drive to the PC, then hopefully the PC will boot from it. 'All of the above' makes your USB drive seem like a hard/zip/floppy all together, but note that it creates a strange formatting of the USB drive that some partitioning tools such as Gparted cannot recognise -- so treat that as the last resort.</label></text>
 #  <text><label>Click 'OK' to continue, 'Cancel' to quit:</label></text>
 
 echo '#!/bin/sh' > /tmp/bootme-morehelp
-echo 'export HELP_DIALOG="<window title=\"BootFlash: Help\" icon-name=\"gtk-info\">
+echo 'export HELP_DIALOG="<window title=\"'$(gettext 'BootFlash: Help')'\" icon-name=\"gtk-info\">
 <hbox>
 <vbox>
-<text use-markup=\"true\"><label>\"<b>BIOS-setup</b>
-When the computer is just starting to power up, pressing the DEL or F1 key usually enters the BIOS-setup. If you had plugged in the USB drive beforehand, you would be able to see whether the BIOS has auto-detected it. Or, you will be able to see whether the BIOS has manual choices of USB-HDD, USB-ZIP or USB-FDD. It is recommended that you do this before running BootFlash.
-
-<b>Windows compatibility</b>
-BootFlash creates one or two partitions on the USB drive, or in the case of USB-FDD formats the drive without any partitions (what is called <i>SuperFloppy</i> mode). Whatever, the filesystem created on the drive is FAT16 or FAT32, which is compatible with Microsoft Windows. This means that you can read and write files from Windows.
+<text use-markup=\"true\"><label>\"<b>'$(gettext 'BIOS-setup</b>')'
+'$(gettext 'When the computer is just starting to power up, pressing the DEL or F1 key usually enters the BIOS-setup. If you had plugged in the USB drive beforehand, you would be able to see whether the BIOS has auto-detected it. Or, you will be able to see whether the BIOS has manual choices of USB-HDD, USB-ZIP or USB-FDD. It is recommended that you do this before running BootFlash.')'
+
+'$(gettext '<b>Windows compatibility</b>')'
+'$(gettext 'BootFlash creates one or two partitions on the USB drive, or in the case of USB-FDD formats the drive without any partitions (what is called <i>SuperFloppy</i> mode). Whatever, the filesystem created on the drive is FAT16 or FAT32, which is compatible with Microsoft Windows. This means that you can read and write files from Windows.')'
 
 <b>ISO9660</b>
-This one has had less testing, and I got it to work on 2 out of 4 PCs that I tested. For a BIOS with manual choices, choose USB-HDD. However, unlike the USB-HDD choice in BootFlash which formats the drive with one FAT partition, this creates two partitons, the first one ISO9660 and the second FAT -- the first is the filesystem used in CDs. It is not normal to have a ISO9660 filesystem in a Flash memory or hard drive, so I am not surprised that some BIOSes do not like it! -- but on the otherhand it may work where other choices do not. However, there is one big caveat: it has the disadvantage that to upgrade Puppy the drive has to be reformatted using BootFlash, so you would have to copy-off the pupsave.2fs file (the file that has all your personal stuff) then copy it back afterward -- a bit more involved than the usual super-simple upgrade process.\"</label></text>
+'$(gettext 'This one has had less testing, and I got it to work on 2 out of 4 PCs that I tested. For a BIOS with manual choices, choose USB-HDD. However, unlike the USB-HDD choice in BootFlash which formats the drive with one FAT partition, this creates two partitons, the first one ISO9660 and the second FAT -- the first is the filesystem used in CDs. It is not normal to have a ISO9660 filesystem in a Flash memory or hard drive, so I am not surprised that some BIOSes do not like it! -- but on the otherhand it may work where other choices do not. However, there is one big caveat: it has the disadvantage that to upgrade Puppy the drive has to be reformatted using BootFlash, so you would have to copy-off the pupsave.2fs file (the file that has all your personal stuff) then copy it back afterward -- a bit more involved than the usual super-simple upgrade process.')'\"</label></text>
 </vbox>
 
 <vbox>
-<text use-markup=\"true\"><label>\"<b>Installing Puppy</b>
-BootFlash will format the USB drive so that it is bootable, then will offer to install Puppy Linux. Obviously, as this erases whatever was on the drive, it is for doing a new installation of Puppy.
-
-<b>Upgrading Puppy</b>
-You could use the Puppy Universal Installer, however it is a piece of cake to do it manually. When a new version of Puppy is released, download the live-CD iso file, then just click on it to open it. Drag the files vmlinuz, initrd.gz and puppy.sfs (and zdrv.sfs if it exists) (some builds of Puppy have different names for these files, for example: wary_092.sfs and zw092345.sfs) to the USB drive, and that is it, you have upgraded!
-It is super-simple, but just a warning: if there are files of an old installation, for example wary_091.2fs and zw091346.sfs, just delete those.
-
-WARNING: There is one caveat to the above. Be careful before deleting the old puppy.sfs that it is not in use by Puppy. If the PC has 256MB or more of RAM, Puppy will normally copy puppy.sfs into RAM, so the original is not being used and can be deleted. To find out, open a terminal and type <i>losetup</i> -- if you see something like /mnt/tmpfs/puppy.sfs then it is in RAM. If not, or uncertain, boot another Puppy from a different drive/CD.
-
-<b>Puppy Universal Installer</b>
-This is a tool for installing Puppy to any media, including USB. BootFlash is an alternative tool specific to USB and for new installations only. You might want to try the Universal Installer first, and if you cannot get the drive to boot then try BootFlash.\"</label></text>
+<text use-markup=\"true\"><label>\"<b>'$(gettext 'Installing Puppy</b>')'
+'$(gettext 'BootFlash will format the USB drive so that it is bootable, then will offer to install Puppy Linux. Obviously, as this erases whatever was on the drive, it is for doing a new installation of Puppy.')'
+
+'$(gettext '<b>Upgrading Puppy</b>')'
+'$(gettext 'You could use the Puppy Universal Installer, however it is a piece of cake to do it manually. When a new version of Puppy is released, download the live-CD iso file, then just click on it to open it. Drag the files vmlinuz, initrd.gz and puppy.sfs (and zdrv.sfs if it exists) (some builds of Puppy have different names for these files, for example: wary_092.sfs and zw092345.sfs) to the USB drive, and that is it, you have upgraded!
+It is super-simple, but just a warning: if there are files of an old installation, for example wary_091.2fs and zw091346.sfs, just delete those.')'
+
+'$(gettext 'WARNING: There is one caveat to the above. Be careful before deleting the old puppy.sfs that it is not in use by Puppy. If the PC has 256MB or more of RAM, Puppy will normally copy puppy.sfs into RAM, so the original is not being used and can be deleted. To find out, open a terminal and type <i>losetup</i> -- if you see something like /mnt/tmpfs/puppy.sfs then it is in RAM. If not, or uncertain, boot another Puppy from a different drive/CD.')'
+
+'$(gettext '<b>Puppy Universal Installer</b>')'
+'$(gettext 'This is a tool for installing Puppy to any media, including USB. BootFlash is an alternative tool specific to USB and for new installations only. You might want to try the Universal Installer first, and if you cannot get the drive to boot then try BootFlash.')'\"</label></text>
 </vbox>
 
 </hbox>
 </window>"
 gtkdialog3 --center --program=HELP_DIALOG' >> /tmp/bootme-morehelp
 chmod 777 /tmp/bootme-morehelp
 
 #About dlg...
 echo '#!/bin/sh' > /tmp/bootme-about
-echo 'export ABOUT_DIALOG="<window title=\"BootFlash: About\" icon-name=\"gtk-info\">
+echo 'export ABOUT_DIALOG="<window title=\"'$(gettext 'BootFlash: About')'\" icon-name=\"gtk-info\">
 <vbox>
-<text use-markup=\"true\"><label>\"<b>BootFlash</b>
+<text use-markup=\"true\"><label>\"<b>'$(gettext 'BootFlash</b>
 Is a GUI application written by Barry Kauler, March 2009. (c) copyright Barry Kauler 2009, licenced under the Lesser GPL licence v2, http://www.fsf.org/licensing/licenses/lgpl.html.
 
 BootFlash uses excellent applications under-the-hood, in particular I would like to acknowledge Makebootfat created by Andrea Mazzoleni, and Syslinux created by Peter Anvin.
 
-Note, Makebootfat has been patched by me to optimise the number of heads and sectors/track to suit BootFlash. Note also, Syslinux version 3.72 or greater is required for the ISO9660 mode of BootFlash.\"</label></text>
+Note, Makebootfat has been patched by me to optimise the number of heads and sectors/track to suit BootFlash. Note also, Syslinux version 3.72 or greater is required for the ISO9660 mode of BootFlash.')'\"</label></text>
 </vbox>
 </window>"
 gtkdialog3 --center --program=ABOUT_DIALOG' >> /tmp/bootme-about
 chmod 777 /tmp/bootme-about
 
 
-export MAIN_DIALOG="<window title=\"BootFlash: make USB drive bootable\" icon-name=\"gtk-preferences\">
+export MAIN_DIALOG="<window title=\"$(gettext 'BootFlash: make USB drive bootable')\" icon-name=\"gtk-preferences\">
 <vbox>
 
 <hbox>
 <vbox>
  <text><label>\"  \"</label></text>
- <text use-markup=\"true\"><label>\"<b>Welcome! The intention of BootFlash is to get a USB memory stick (Flash drive) or USB hard drive to boot off any computer that has options in its BIOS setup for booting from USB ...then to install Puppy on it</b>\"</label></text>
-
- <text><label>Your PC's BIOS setup has choices for booting from various types of drives. Modern BIOSes will autodetect whatever USB drives are plugged in, but older BIOSes have fixed choices such as 'USB-HDD' (hard drive), 'USB-ZIP' (zip drive) or 'USB-FDD' (floppy drive). For modern auto-detecting BIOSes or an older one that offers 'USB-HDD', I suggest you make that your preferred choice and tick the 'USB-HDD' radiobutton below. However, it may not work, even on modern computers.</label></text>
-
- <text use-markup=\"true\"><label>\"<b>Please be aware that running this program will erase anything currently on the USB drive</b>\"</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'Welcome! The intention of BootFlash is to get a USB memory stick (Flash drive) or USB hard drive to boot off any computer that has options in its BIOS setup for booting from USB ...then to install Puppy on it')</b>\"</label></text>
+
+ <text><label>`gettext \"Your PC's BIOS setup has choices for booting from various types of drives. Modern BIOSes will autodetect whatever USB drives are plugged in, but older BIOSes have fixed choices such as 'USB-HDD' (hard drive), 'USB-ZIP' (zip drive) or 'USB-FDD' (floppy drive). For modern auto-detecting BIOSes or an older one that offers 'USB-HDD', I suggest you make that your preferred choice and tick the 'USB-HDD' radiobutton below. However, it may not work, even on modern computers.\"`</label></text>
+
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'Please be aware that running this program will erase anything currently on the USB drive')</b>\"</label></text>
 
  <frame>
- <radiobutton><label>USB-HDD (hard drive) PREFERRED CHOICE</label><variable>RADIO_HDD</variable></radiobutton>
- <radiobutton><label>USB-ZIP (zip drive)</label><variable>RADIO_ZIP</variable></radiobutton>
- <radiobutton><label>USB-FDD ('SuperFloppy' drive)</label><variable>RADIO_FDD</variable></radiobutton>
- <radiobutton><label>ComboFormat (hard/zip/floppy chameleon)</label><variable>RADIO_ALL</variable></radiobutton>
- <radiobutton><label>ISO9660 (CD filesystem)</label><variable>RADIO_ISO</variable></radiobutton>
+ <radiobutton><label>$(gettext 'USB-HDD (hard drive) PREFERRED CHOICE')</label><variable>RADIO_HDD</variable></radiobutton>
+ <radiobutton><label>$(gettext 'USB-ZIP (zip drive)')</label><variable>RADIO_ZIP</variable></radiobutton>
+ <radiobutton><label>$(gettext "USB-FDD ('SuperFloppy' drive)")</label><variable>RADIO_FDD</variable></radiobutton>
+ <radiobutton><label>$(gettext 'ComboFormat (hard/zip/floppy chameleon)')</label><variable>RADIO_ALL</variable></radiobutton>
+ <radiobutton><label>$(gettext 'ISO9660 (CD filesystem)')</label><variable>RADIO_ISO</variable></radiobutton>
  </frame>
 
  <hbox>
-  <button><label>More help</label><action>/tmp/bootme-morehelp & </action></button>
-  <button><label>About</label><action>/tmp/bootme-about & </action></button>
+  <button><label>$(gettext 'More help')</label><action>/tmp/bootme-morehelp & </action></button>
+  <button><label>$(gettext 'About')</label><action>/tmp/bootme-about & </action></button>
   <text><label>\"                                    \"</label></text>
   <button ok></button>
   <button cancel></button>
  </hbox>
 
  </vbox>
  <vbox>
-  <frame Help>
+  <frame $(gettext 'Help')>
    <text use-markup=\"true\"><label>\"<b>USB-HDD</b>
-This is the preferred choice for modern PCs, whether the USB drive is an actual hard drive or a Flash 'memory stick'. The BIOS in modern PCs will auto-detect whatever is plugged in, and slightly older BIOSes may have a 'USB-HDD' choice in the BIOS-setup -- if so, choose that. Note though, even modern PCs may not boot the USB drive, and you may need to look at one of the following choices.
+`gettext \"This is the preferred choice for modern PCs, whether the USB drive is an actual hard drive or a Flash 'memory stick'. The BIOS in modern PCs will auto-detect whatever is plugged in, and slightly older BIOSes may have a 'USB-HDD' choice in the BIOS-setup -- if so, choose that. Note though, even modern PCs may not boot the USB drive, and you may need to look at one of the following choices.
 
 <b>USB-ZIP</b>
 This will make the USB drive seem like a Zip drive. A slightly older BIOS may offer a 'USB-ZIP' boot option, so if you set that in the BIOS then format the USB drive to seem like a Zip drive, it may succeed. You can even do this with a USB hard drive.
 
 <b>USB-FDD</b>
 This is also known as <b>SuperFloppy</b> mode and will make the USB drive seem like a floppy drive. The drive is formatted without any partitions -- just like a floppy, the entire disk is used for the filesystem.
 
 <b>ComboFormat</b>
-This one is very cunning. It makes the drive seem like a HDD, ZIP <i>and</i> FDD. This is the one to choose if you want to be able to take your USB memory stick to just about any PC and it will boot.\"</label></text>
+This one is very cunning. It makes the drive seem like a HDD, ZIP <i>and</i> FDD. This is the one to choose if you want to be able to take your USB memory stick to just about any PC and it will boot.\"`\"</label></text>
   </frame>
  </vbox>
  </hbox>
 
 
@@ -137,14 +147,14 @@
 #decide what drive...
 if [ "$USBDRV" = "" ];then
  export PLUGIN_DIALOG="<window title=\"BootFlash\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/question.xpm</input></pixmap>
- <text use-markup=\"true\"><label>\"<b>Please plugin the USB drive right now. If it is already plugged in, make absolutely sure that it is unmounted before continuing</b>\"</label></text>
- <text><label>Note, it does not matter if you have other USB drives or devices plugged in, as the next dialog window will present them all and ask you to choose one.</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'Please plugin the USB drive right now. If it is already plugged in, make absolutely sure that it is unmounted before continuing')</b>\"</label></text>
+ <text><label>$(gettext 'Note, it does not matter if you have other USB drives or devices plugged in, as the next dialog window will present them all and ask you to choose one.')</label></text>
  <hbox>
-  <text><label>Click 'OK' to continue, 'Cancel' to quit:</label></text>
+  <text><label>`gettext \"Click 'OK' to continue, 'Cancel' to quit:\"`</label></text>
   <button ok></button>
   <button cancel></button>
  </hbox>
 </vbox>
 </window>"
@@ -166,14 +176,14 @@
    SELECTIONS="${SELECTIONS}
 $ONEUSB \"${USBMEMTYPE}, ${USBINFO}, ${USBSIZE}\""
  done
  xSELECTIONS="`echo "$SELECTIONS" | tr '\n' ' ' | tr -s ' '`"
  if [ "$SELECTIONS" = "" ];then
-  xmessage -bg red -center -title "ERROR" "No USB drive plugged in!"
+  xmessage -bg red -center -title "$(gettext 'ERROR')" "$(gettext 'No USB drive plugged in!')"
   exit
  fi
- CHOOSEDLG="Xdialog --wmclass \"gtkdialog2\" --title \"BootFlash: choose drive\" --no-cancel --stdout --menubox \"Choose which drive to format:\" 10 60 0 ${xSELECTIONS}"
+ CHOOSEDLG="Xdialog --wmclass \"gtkdialog2\" --title \"$(gettext 'BootFlash: choose drive')\" --no-cancel --stdout --menubox \"$(gettext 'Choose which drive to format:')\" 10 60 0 ${xSELECTIONS}"
  DRVSEL="`eval "$CHOOSEDLG"`"
  [ $? -ne 0 ] && exit
  [ "$DRVSEL" = "" ] && exit #precaution.
  [ "`echo -n "$DRVSEL" | cut -c 1,2`" != "sd" ] && exit #precaution.
  USBDRV="$DRVSEL"
@@ -180,15 +190,15 @@
  #reconfirm correct drv choice...
  MYSELECTION="`echo "$SELECTIONS" | grep "^${USBDRV} " | tr '"' ' ' | tr -s ' '`" #'geany
  export RECONFIRM_DIALOG="<window title=\"BootFlash\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/question.xpm</input></pixmap>
- <text><label>Please reconfirm that this is the USB drive that you want to format:</label></text>
+ <text><label>$(gettext 'Please reconfirm that this is the USB drive that you want to format:')</label></text>
  <text use-markup=\"true\"><label>\"<b>${MYSELECTION}</b>\"</label></text>
- <text><label>Please also reconfirm that you want to use BootFlash to reformat the drive (and install Puppy). If you have a new USB drive, it is normally recommended that you use the Puppy Universal Installer first, as that will attempt to make the drive bootable as-is, that is, without reformatting it. If you haven't tried the Universal Installer yet, recommend that you hit Cancel here, and run the Universal Installer from the Setup menu.</label></text>
+ <text><label>`gettext \"Please also reconfirm that you want to use BootFlash to reformat the drive (and install Puppy). If you have a new USB drive, it is normally recommended that you use the Puppy Universal Installer first, as that will attempt to make the drive bootable as-is, that is, without reformatting it. If you haven't tried the Universal Installer yet, recommend that you hit Cancel here, and run the Universal Installer from the Setup menu.\"`</label></text>
  <hbox>
-  <text><label>Click 'OK' to continue, 'Cancel' to quit:</label></text>
+  <text><label>`gettext \"Click 'OK' to continue, 'Cancel' to quit:\"`</label></text>
   <button ok></button>
   <button cancel></button>
  </hbox>
 </vbox>
 </window>"
@@ -200,14 +210,14 @@
 #make sure not mounted...
 while [ "`mount | grep "^/dev/$DRVSEL"`" != "" ];do
  export PLUGIN_DIALOG="<window title=\"BootFlash\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/error.xpm</input></pixmap>
- <text use-markup=\"true\"><label>\"<b>Drive ${DRVSEL} is still mounted. Please unmount it before continuing. If the drive has multiple partitions, are they all unmounted?</b>\"</label></text>
- <text><label>Note: click on the appropriate mounted desktop drive icon, and you will receive an offer to unmount it.</label></text>
+ <text use-markup=\"true\"><label>\"<b>`eval_gettext \"Drive \\\${DRVSEL} is still mounted. Please unmount it before continuing. If the drive has multiple partitions, are they all unmounted?\"`</b>\"</label></text>
+ <text><label>$(gettext 'Note: click on the appropriate mounted desktop drive icon, and you will receive an offer to unmount it.')</label></text>
  <hbox>
-  <text><label>Click 'OK' to continue, 'Cancel' to quit:</label></text>
+  <text><label>`gettext \"Click 'OK' to continue, 'Cancel' to quit:\"`</label></text>
   <button ok></button>
   <button cancel></button>
  </hbox>
 </vbox>
 </window>"
@@ -227,11 +237,11 @@
 cp -a /usr/lib/syslinux/mbr.bin ./
 cp -a /usr/lib/syslinux/ldlinux.sys ./
 mkdir tempdir
 
 #yaf-splash -font "8x16" -outline 0 -margin 4 -bg orange -text "Please wait, formatting ${USBDRV} drive..." &
-yaf-splash -close never -bg orange -text "Please wait, formatting ${USBDRV} drive..." &
+yaf-splash -close never -bg orange -text "`eval_gettext \"Please wait, formatting \\\${USBDRV} drive...\"`" &
 X1PID=$!
 
 if [ "$RADIO_HDD" = "true" ];then #hard drive.
  #weird code here...
  dd if=/dev/zero of=/dev/$USBDRV bs=512 count=1
@@ -302,21 +312,21 @@
     FREEM=`df -m | grep "$mhPATTERN" | tr -s ' ' | cut -f 4 -d ' '`
    fi
   fi
   if [ $FREEM -lt 135 ];then
    kill $X1PID
-   xmessage -title "ERROR" "SORRY, cannot find 128MB free working space!"
+   xmessage -title "$(gettext 'ERROR')" "$(gettext 'SORRY, cannot find 128MB free working space!')"
    exit
   fi
 
   if [ "$RADIO_ISO" = "true" ];then
    #need puppy.iso to copy to usb drive...
    kill $X1PID
-   SRCFPATH="`Xdialog --wrap --wmclass "gtkdialog2" --left --backtitle "The 'ISO9660' choice requires the Puppy .iso file to be written directly into the USB drive. Please select it then click 'OK':" --title "BootFlash: ISO9660 format" --stdout --no-buttons --no-cancel --fselect "*.iso" 0 0`"
+   SRCFPATH="`Xdialog --wrap --wmclass "gtkdialog2" --left --backtitle "$(gettext "The 'ISO9660' choice requires the Puppy .iso file to be written directly into the USB drive. Please select it then click 'OK':")" --title "BootFlash: ISO9660 format" --stdout --no-buttons --no-cancel --fselect "*.iso" 0 0`"
    [ $? -ne 0 ] && exit
    #yaf-splash -font "8x16" -outline 0 -margin 4 -bg orange -text "Please wait, copying .iso file..." &
-   yaf-splash -close never -bg orange -text "Please wait, copying .iso file..." &
+   yaf-splash -close never -bg orange -text "$(gettext 'Please wait, copying .iso file...')" &
    X1PID=$!
    rm -f $WKGPATH/image128m 2>/dev/null
    cp -f "$SRCFPATH" $WKGPATH/image128m
    sync
    isohybrid $WKGPATH/image128m
@@ -383,62 +393,62 @@
 kill $X1PID
 
 
 #announce finished, offer to install Puppy...
 if [ "$RADIO_ISO" = "true" ];then
- export FINISHED_DIALOG="<window title=\"BootFlash: ISO9660 format finished\" icon-name=\"gtk-preferences\">
+ export FINISHED_DIALOG="<window title=\"$(gettext 'BootFlash: ISO9660 format finished')\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/ok.xpm</input></pixmap>
- <text use-markup=\"true\"><label>\"<b>All done!</b>\"</label></text>
- <text><label>The drive now has two partitions, ISO9660 and the rest of the drive a FAT partition. Puppy will offer to create a pup-save file in the latter, at the first shutdown after successfully booting from the USB drive.</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'All done!')</b>\"</label></text>
+ <text><label>$(gettext 'The drive now has two partitions, ISO9660 and the rest of the drive a FAT partition. Puppy will offer to create a pup-save file in the latter, at the first shutdown after successfully booting from the USB drive.')</label></text>
  <hbox>
   <button ok></button>
  </hbox>
 </vbox>
 </window>"
  gtkdialog3 --center --program=FINISHED_DIALOG
  exit
 fi
 
-export FINISHED_DIALOG="<window title=\"BootFlash: install Puppy\" icon-name=\"gtk-preferences\">
+export FINISHED_DIALOG="<window title=\"$(gettext 'BootFlash: install Puppy')\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/question.xpm</input></pixmap>
- <text use-markup=\"true\"><label>\"<b>USB drive now (hopefully) bootable!</b>\"</label></text>
- <text><label>Now, if you wish, you may install Puppy Linux on the drive. If you decline, it can be done later using the Puppy Universal Installer. If you choose to install Puppy now, you must have a Puppy live-CD .iso file available locally (that you had previously downloaded).</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'USB drive now (hopefully) bootable!')</b>\"</label></text>
+ <text><label>$(gettext 'Now, if you wish, you may install Puppy Linux on the drive. If you decline, it can be done later using the Puppy Universal Installer. If you choose to install Puppy now, you must have a Puppy live-CD .iso file available locally (that you had previously downloaded)').</label></text>
  <hbox>
   <button type=\"exit\">
-   <label>Install Puppy</label>
+   <label>$(gettext 'Install Puppy')</label>
   </button>
   <button type=\"exit\">
    <input file icon=\"gtk-close\"></input>
-   <label>Exit, finished</label>
+   <label>$(gettext 'Exit, finished')</label>
   </button>
  </hbox>
 </vbox>
 </window>"
 RETPARAMS="`gtkdialog3 --center --program=FINISHED_DIALOG`"
 
 eval "$RETPARAMS"
-[ "$EXIT" != "Install Puppy" ] && exit
+[ "$EXIT" != "$(gettext 'Install Puppy')" ] && exit
 
 cd /root
-SRCFPATH="`Xdialog --wrap --wmclass "gtkdialog2" --left --backtitle "Please select a Puppy live-CD .iso file, then click 'OK':" --title "BootFlash: Choose .iso" --stdout --no-buttons --no-cancel --fselect "*.iso" 0 0`"
+SRCFPATH="`Xdialog --wrap --wmclass "gtkdialog2" --left --backtitle "$(gettext "Please select a Puppy live-CD .iso file, then click 'OK':")" --title "$(gettext 'BootFlash: Choose .iso')" --stdout --no-buttons --no-cancel --fselect "*.iso" 0 0`"
 [ $? -ne 0 ] && exit
 #yaf-splash -font "8x16" -outline 0 -margin 4 -bg orange -text "Please wait, copying files from .iso file..." &
-yaf-splash -close never -bg orange -text "Please wait, copying files from .iso file..." &
+yaf-splash -close never -bg orange -text "$(gettext 'Please wait, copying files from .iso file...')" &
 X1PID=$!
 mkdir -p /tmp/bootflash_iso
 mount -t iso9660 -o loop ${SRCFPATH} /tmp/bootflash_iso
 if [ $? -ne 0 -o ! -f /tmp/bootflash_iso/initrd.gz ];then
- xmessage -bg red -center -title "ERROR" "Sorry error accessing .iso file"
+ xmessage -bg red -center -title "$(gettext 'ERROR')" "$(gettext 'Sorry error accessing .iso file')"
  exit
 fi
 
 mkdir -p /mnt/${PUPBOOTPART}
 mount -t vfat /dev/${PUPBOOTPART} /mnt/${PUPBOOTPART}
 if [ "`mount | grep "/dev/${PUPBOOTPART}"`" = "" ];then
- xmessage -bg red -center -title "ERROR" "Sorry error mounting USB drive"
+ xmessage -bg red -center -title "$(gettext 'ERROR')" "$(gettext 'Sorry error mounting USB drive')"
  exit
 fi
 
 rm -f /mnt/${PUPBOOTPART}/*-[0-9][0-9][0-9].sfs 2>/dev/null
 rm -f /mnt/${PUPBOOTPART}/*_[0-9][0-9][0-9].sfs 2>/dev/null #101026
@@ -465,18 +475,18 @@
 
 umount /mnt/${PUPBOOTPART}
 umount /tmp/bootflash_iso
 kill $X1PID
 
-export DONE_DIALOG="<window title=\"BootFlash: Puppy installed\" icon-name=\"gtk-preferences\">
+export DONE_DIALOG="<window title=\"$(gettext 'BootFlash: Puppy installed')\" icon-name=\"gtk-preferences\">
 <vbox>
  <pixmap><input file>/usr/local/lib/X11/pixmaps/ok.xpm</input></pixmap>
- <text use-markup=\"true\"><label>\"<b>Puppy installed!</b>\"</label></text>
- <text><label>The desktop drive icons should have been updated, so you can click on them to check that everything looks right. Then reboot and find out for sure...</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'Puppy installed!')</b>\"</label></text>
+ <text><label>$(gettext 'The desktop drive icons should have been updated, so you can click on them to check that everything looks right. Then reboot and find out for sure...')</label></text>
  <hbox>
   <button ok></button>
  </hbox>
 </vbox>
 </window>"
 gtkdialog3 --center --program=DONE_DIALOG
 
 ###END###

Changes to woof-code/rootfs-skeleton/usr/sbin/bootmanager

@@ -1,8 +1,8 @@
 #!/bin/sh
 #BK 2007, original idea from sunburnt
-#Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html). 2007 www.puppylinux.com
+#Lesser GPL licence v2 (/usr/share/doc/legal). 2007 www.puppylinux.com
 #written for Puppy 2.16.
 #/etc/rc.d/BOOTCONFIG has variable EXTRASFSLIST='kde.sfs devx_216.sfs'
 # ...space-delimited list of .sfs files to be loaded.
 # ...must be located at same place as the pup_save file (in /mnt/home)
 #    or at '/' for full hd installation.
@@ -36,12 +36,17 @@
 #110422 DISTRO_VERSION variable now has dotted format. note, also now using full dotted version# in puppy filenames.
 #110505 support sudo for non-root user.
 #111011 now using pupdialog instead of Xdialog for sfs chooser.
 #111015 support kernel 3.x.
 #111113 roll back to Xdialog for sfs chooser. pupdialog limited items, some people have 100s sfs's.
+#120201 rodin.s: internationalized.
 
 [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} #110505
+
+export TEXTDOMAIN=bootmanager
+export OUTPUT_CHARSET=UTF-8
+. gettext.sh
 
 #reentrant.
 #$1='' then run the main window.
 #$1=extrasfs then run the extrasfs_func.
 CLPARAM1="$1"
@@ -80,18 +85,18 @@
 DEFAULT_FAST="false"
 [ "$BYPASSSERIALPROBING" = "yes" ] && DEFAULT_SERIAL="true"
 [ "$FASTBOOTMODULESLIST" != "" ] && DEFAULT_FAST="true"
 
 if [ "$PUPMODE" = "5" ];then
- xmessage "ERROR. Must shutdown and create a personal save file first."
+ xmessage "$(gettext 'ERROR. Must shutdown and create a personal save file first.')"
  exit
 fi
 
 xEXTRASFSMNTPTx="" #100711
 if [ "$PUP_HOME" = "" ];then #defined in PUPSTATE.
  EXTRASFSMNTPT='/'
- MSGx="Note2: These files are at '/' (in $PDEV1 partition)"
+ MSGx="`eval_gettext \"Note2: These files are at '/' (in \\\$PDEV1 partition)\"`"
  MSGz='/'
 else
  EXTRASFSMNTPT="/initrd${PUP_HOME}"
  xHOMEPART="$PDEV1" #100518
  [ "$PUPSAVE" ] && xHOMEPART="`echo -n "$PUPSAVE" | cut -f 1 -d ','`" #100518
@@ -104,11 +109,11 @@
   if [ "$xPSUBDIR" ];then
    MSGz="/mnt/home or /mnt/home${xPSUBDIR}"
    xEXTRASFSMNTPTx="/initrd${PUP_HOME}${xPSUBDIR}"'/*.sfs' #100711
   fi
  fi
- MSGx="Note2: These files are at ${MSGz} (in ${xHOMEPART} partition)" #100221 100518 100710
+ MSGx="`eval_gettext \"Note2: These files are at \\\${MSGz} (in \\\${xHOMEPART} partition)\"`" #100221 100518 100710
 fi
 #for multisession cd, extra sfs files have to be on the cd...
 #v3.97 sfs files are at '/', saved with a session...
 if [ "$PUPMODE" = "77" ];then
 # MPATTERN="/dev/${PDEV1} "
@@ -117,11 +122,11 @@
 # MSGx="Note2: These files are on the Puppy boot CD"
  MSGz='/'
 # if [ "$EXTRASFSMNTPT" = "" ];then
   EXTRASFSMNTPT='/'
  xEXTRASFSMNTPTx="" #100711
-  MSGx="Note2: All SFS files have to get loaded into RAM from CD"
+  MSGx="$(gettext 'Note2: All SFS files have to get loaded into RAM from CD')"
 # fi
 fi
 
 extrasfs_func() {
 
@@ -169,11 +174,11 @@
   [ "`echo "$BASEFIXEDSFSLIST" | grep "$BASEONESFS"`" != "" ] && continue #100711 avoid duplicates.
   BASEFIXEDSFSLIST="$BASEFIXEDSFSLIST $BASEONESFS"
  done
  BASEALLSFSLIST="$BASEFIXEDSFSLIST"
 
-#111113 roll back to Xdialog...
+ #111113 roll back to Xdialog...
 # #compose list for xdialog listbox... 111011 now using pupdialog...
 # for ONESFS in $BASEALLSFSLIST
 # do
 #  if [ "$EXTRASFSLIST" = "" ];then
 #   ITEMCNT=$(($ITEMCNT + 1))
@@ -205,36 +210,35 @@
   DLGLIST="$DLGLIST $ONESFS $ONESFS on"
  done
 
  #v423 let user know wrong sfs's...
  if [ -e /tmp/bootmanager_wrong_sfs_version ];then
-  xmessage -bg '#FFC0C0' "NOTICE: The following SFS files located in directory ${MSGz}
-are the wrong version for the current Linux kernel:
+  xmessage -bg '#FFC0C0' "`eval_gettext \"NOTICE: The following SFS files located in directory \\\${MSGz}
+are the wrong version for the current Linux kernel:\"`
 
 `cat /tmp/bootmanager_wrong_sfs_version`
 
-The above files will be ignored.
-The kernel requires ${SFSSTR}, SFS files.
-Note, there is an SFS-version-converter in the Utility menu." &
+`eval_gettext \"The above files will be ignored.
+The kernel requires \\\${SFSSTR}, SFS files.
+Note, there is an SFS-version-converter in the Utility menu.\"`" &
  fi
 
  if [ "$DLGLIST" = "" ];then
   [ "$CLPARAM2" = "quiet" ] && return 1
-  xmessage -center -bg '#FFC0C0' "Sorry, there are no SFS files in directory $MSGz
+  xmessage -center -bg '#FFC0C0' "`eval_gettext \"Sorry, there are no SFS files in directory \\\$MSGz
 (or they all have the wrong '*_nnn.sfs' version number)
-You will need to download and place one there first."
+You will need to download and place one there first.\"`"
   return 1
  fi
 
  # --icon \"/usr/local/lib/X11/pixmaps/module24.xpm\"
  #note, jwm will use module16.xpm as the window icon...
 #v424 remove checkbox...
 # EXECME="Xdialog --wmclass \"module16\" --backtitle \"Choose which SFS files are to be loaded at bootup.\n(top entry will be on top Unionfs layer)\" --title \"BootManager: SFS files\" --left --stdout --separator \" \" --check \"Ignore above user selection, load all with '_${DISTRO_VERSION}.sfs' in filename\" $EXTRASFSAUTO --help \"
  #EXECME="Xdialog --wmclass \"module16\" --backtitle \"Choose which SFS files are to be loaded at bootup.\n(top entry will be on top Unionfs layer)\" --title \"BootManager: SFS files\" --left --stdout --separator \" \" --help \"Extra SFS files are available for your Puppy: see announcements on the Forum.\n\nDownload to '$MSGz', choose what you want using the BootManager,\nthen reboot Puppy.\n\nNote1: \nBootManager is in the 'System' menu.\nNote2: \nWhen naming an SFS file, do not name it with '_nnn.sfs' where the nnn is\n3 numeric digits, as Puppy will interpret this as a Puppy-version number, \nand will refuse to load it if it is not '_${DISTRO_VERSION}.sfs'.\nNote3: \nIn fact, if '_nnn.sfs' is not '_${DISTRO_VERSION}.sfs' then it will not even\nbe listed -- please note this!\" --buildlist \"Note1: No more than 6 SFS files in right-pane!\n${MSGx}\" 0 0 8 $DLGLIST >/tmp/bmrettags.txt"
-
-#111113 revert to Xdialog...
- EXECME="LANG=C Xdialog --wmclass \"module16\" --backtitle \"Choose which SFS files are to be loaded at bootup.\n(top entry will be on top Unionfs layer)\" --title \"BootManager: SFS files\" --left --stdout --separator \" \" --help \"Please click the 'install' icon on the desktop for information about SFS files.\nYou will find an introduction, plus links to SFS files that can be downloaded.\n\nNote, the BootManager performs some filtering of the available SFS files,\nscreening out some that might have incorrect version number -- files of the\nformat '*_nnn.sfs' should be '*_${DISTRO_VERSION}.sfs' to pass the filter.\" --buildlist \"Note1: No more than 6 SFS files in right-pane!\n${MSGx}\" 0 0 8 $DLGLIST >/tmp/bmrettags.txt"
+ #111113 revert to Xdialog...
+ EXECME="Xdialog --wmclass \"module16\" --backtitle \"$(gettext 'Choose which SFS files are to be loaded at bootup.\n(top entry will be on top Unionfs layer)')\" --title \"$(gettext 'BootManager: SFS files')\" --left --stdout --separator \" \" --help \"`eval_gettext \"Please click the 'install' icon on the desktop for information about SFS files.\nYou will find an introduction, plus links to SFS files that can be downloaded.\n\nNote, the BootManager performs some filtering of the available SFS files,\nscreening out some that might have incorrect version number -- files of the\nformat '*_nnn.sfs' should be '*_\\\${DISTRO_VERSION}.sfs' to pass the filter.\"`\" --buildlist \"$(gettext 'Note1: No more than 6 SFS files in right-pane!')\n${MSGx}\" 0 0 8 $DLGLIST >/tmp/bmrettags.txt"
 # #111011 change over to pupdialog...
 # EXECME="pupdialog --helpwindow \"/tmp/bootmanager_help_sfs\" --backtitle \"Choose which SFS files are to be loaded at bootup\" --title \"BootManager: SFS files\" --stdout --ok-label \"OKAY\" --cancel-label \"Cancel\" --checklist \"Note1: No more than 6 SFS files may be selected\n${MSGx}\" 0 0 0 $DLGLIST >/tmp/bmrettags.txt"
 #
 # echo "#!/bin/sh
 # pupdialog --backtitle \"BootManager: SFS help window\" --msgbox \"Please click the 'install' icon on the desktop for information about SFS files. You will find an introduction, plus links to SFS files that can be downloaded.\n\nNote, the BootManager performs some filtering of the available SFS files, screening out some that might have incorrect version number -- files of the format '*_nnn.sfs' should be '*_${DISTRO_VERSION}.sfs' to pass the filter.\" 0 0
@@ -254,11 +258,11 @@
 # done
  eval ${EXECME}
  RETVAL=$?
  [ ! $RETVAL -eq 0 ] && return 1
 
-#111113 revert...
+ #111113 revert...
  RETTAGS="`cat /tmp/bmrettags.txt`"
 # #111011 actually, now want the description fields... grep -w option not good enough...
 # RETTAGS=""
 # if [ -s /tmp/bmrettags.txt ];then
 #  BMRETTAGS="`cat /tmp/bmrettags.txt | sed -e 's%^%^%' -e 's%$% %'`"
@@ -297,17 +301,17 @@
  done
  for ONEMOD in $xSKIPLIST
  do
   MODLIST="$MODLIST $ONEMOD $ONEMOD on"
  done
- EXECME="LANG=C Xdialog --wmclass \"module16\" --title \"BootManager: Module blacklist manager\" --left --stdout --separator \" \" --buildlist \"On the left pane are modules that are currently loaded.\n
+ EXECME="Xdialog --wmclass \"module16\" --title \"$(gettext 'BootManager: Module blacklist manager')\" --left --stdout --separator \" \" --buildlist \"$(gettext 'On the left pane are modules that are currently loaded.\n
 On the right pane is the complete list of blacklisted modules.\n
 If you want to prevent a module from loading, move it to the right\n
 side, click OK, then reboot.\n
 Note, if you want to find out further information about any module,\n
 run PupScan (look in the System menu)\n
-Note, you need to reboot for any change to take effect.\" 0 0 8 $MODLIST >/tmp/skiprettags.txt"
+Note, you need to reboot for any change to take effect.')\" 0 0 8 $MODLIST >/tmp/skiprettags.txt"
  eval $EXECME
  RETVAL=$?
  [ ! $RETVAL -eq 0 ] && return 1
  SKIPLIST=" `cat /tmp/skiprettags.txt | tr '\n' ' '`"
  #now update /etc/rc.d/MODULESCONFIG...
@@ -315,11 +319,11 @@
 } #end blacklist_func
 
 yeslist_func() {
  #choose extra modules to load at bootup.
 # yaf-splash -font "8x16" -outline 0 -margin 4 -bg orange -text "Please wait, processing..." &
- yaf-splash -close never -bg orange -text "Please wait, processing..." &
+ yaf-splash -close never -bg orange -text "$(gettext 'Please wait, processing...')" &
  X1PID=$!
  . /etc/rc.d/MODULESCONFIG
  MODLIST=""
  #note, lsmod will show all modules with '-' as '_'...
  LOADEDMODULES=" `lsmod | grep -v '^Module' | cut -f 1 -d ' ' | tr '\n' ' '`"
@@ -349,16 +353,16 @@
   #leave off list if already loaded...
   [ "`echo "$LOADEDMODULES" | grep "$MODPATTERN"`" != "" ] && continue
   MODLIST="$MODLIST $ONEMOD \"$xONEMOD\" on"
  done
  kill $X1PID
- EXECME="LANG=C Xdialog --wmclass \"module16\" --title \"BootManager: Module add-list manager\" --left --stdout --separator \" \" --buildlist \"On the left pane is the complete list of modules available to be\nused by Puppy (and not currently loaded).\nOn the right pane are modules that you have explicitly chosen to\nbe loaded at bootup (not auto-loaded by default).\nIf you want to force a module to load, move it to the right pane,\nclick OK button, then reboot Puppy.\nNote, if you want to find out further information about any module,\nrun PupScan (look in the System menu)\" 0 0 8 $MODLIST >/tmp/yesrettags.txt"
+ EXECME="Xdialog --wmclass \"module16\" --title \"$(gettext 'BootManager: Module add-list manager')\" --left --stdout --separator \" \" --buildlist \"$(gettext 'On the left pane is the complete list of modules available to be\nused by Puppy (and not currently loaded).\nOn the right pane are modules that you have explicitly chosen to\nbe loaded at bootup (not auto-loaded by default).\nIf you want to force a module to load, move it to the right pane,\nclick OK button, then reboot Puppy.\nNote, if you want to find out further information about any module,\nrun PupScan (look in the System menu)')\" 0 0 8 $MODLIST >/tmp/yesrettags.txt"
  eval $EXECME
  RETVAL=$?
  [ ! $RETVAL -eq 0 ] && return 1
  cat /tmp/yesrettags.txt | tr ' ' '\n' | tr ':' ' ' > /tmp/modules_addlist_edit #v411
- LANG=C Xdialog --backtitle "If you wish, add any required parameters to these modules\nExample: mmc_block major=179\nIf you don't know what this means, just click 'OK' button"  --wmclass "module16" --title "BootManager: Edit module addlist" --left --stdout --no-cancel --editbox /tmp/modules_addlist_edit 0 0 > /tmp/modules_addlist_edit_out
+ Xdialog --backtitle "`gettext \"If you wish, add any required parameters to these modules\nExample: mmc_block major=179\nIf you don't know what this means, just click 'OK' button\"`"  --wmclass "module16" --title "$(gettext 'BootManager: Edit module addlist')" --left --stdout --no-cancel --editbox /tmp/modules_addlist_edit 0 0 > /tmp/modules_addlist_edit_out
  [ $? -ne 0 ] && return 1
  ADDLIST="`cat /tmp/modules_addlist_edit_out`"
  ADDLIST=' '"`echo "$ADDLIST" | tr ' ' ':' | tr '\n' ' ' | tr -s ' '`"
  #ADDLIST=" `cat /tmp/yesrettags.txt | tr '\n' ' '`"
  #now update /etc/rc.d/MODULESCONFIG...
@@ -370,12 +374,12 @@
 #  \"Sometimes two modules are eligible for the same hardware, and you need to choose\none of them. An example is the rt2500usb and rt73usb wireless networking modules\n-- with some hardware these are both eligible however our experience has been that\nthe rt73usb works better. For such a situation, create a line here, of format\nmodule1:module2, where you want module2 to have preference over module1.\nNote: an alternative approach is to blacklist the rt2500usb module (see main menu)\nhowever that is gross as it always prevents rt2500usb from loading.\"
 
 preflist_func() {
  xPREFLIST="`echo -n "$PREFLIST" | sed -e 's/^ //' | tr ' ' '\n'`"
  echo "$xPREFLIST" > /tmp/bootmanager_preflist
- xxPREFLIST="`LANG=C Xdialog --backtitle \"Sometimes two modules are eligible for the same hardware,\n
-and you need to choose one of them. Create a line here,\nof format module1:module2, where you want module2 to\nhave preference over module1.\" --wmclass \"module16\" --title \"BootManager: Module preference-list manager\" --left --stdout --help \"Sometimes two modules are eligible for the same hardware, and you need to choose\none of them. An example is the rt2500usb and rt73usb wireless networking modules\n-- with some hardware these are both eligible however our experience has been that\nthe rt73usb works better. For such a situation, create a line here, of format\nmodule1:module2, where you want module2 to have preference over module1.\nNote: an alternative approach is to blacklist the rt2500usb module (see main menu)\nhowever that is gross as it always prevents rt2500usb from loading.\" --editbox /tmp/bootmanager_preflist 0 0`"
+ xxPREFLIST="`Xdialog --backtitle \"$(gettext 'Sometimes two modules are eligible for the same hardware,\n
+and you need to choose one of them. Create a line here,\nof format module1:module2, where you want module2 to\nhave preference over module1.')\" --wmclass \"module16\" --title \"$(gettext 'BootManager: Module preference-list manager')\" --left --stdout --help \"$(gettext 'Sometimes two modules are eligible for the same hardware, and you need to choose\none of them. An example is the rt2500usb and rt73usb wireless networking modules\n-- with some hardware these are both eligible however our experience has been that\nthe rt73usb works better. For such a situation, create a line here, of format\nmodule1:module2, where you want module2 to have preference over module1.\nNote: an alternative approach is to blacklist the rt2500usb module (see main menu)\nhowever that is gross as it always prevents rt2500usb from loading.')\" --editbox /tmp/bootmanager_preflist 0 0`"
  if [ $? -eq 0 ];then
   NEWPREFLIST="`echo "$xxPREFLIST" | tr '\n' ' ' | sed -e 's/^/ /' | tr -s ' '`"
   grep -v '^PREFLIST' /etc/rc.d/MODULESCONFIG > /tmp/MODULESCONFIG
   mv -f /tmp/MODULESCONFIG /etc/rc.d/MODULESCONFIG
   echo "PREFLIST='${NEWPREFLIST}'" >> /etc/rc.d/MODULESCONFIG
@@ -393,44 +397,44 @@
   OSDDIR="`dirname $ONESYSDAEMON`"
   OSDDEFAULT='false'
   [ -x $ONESYSDAEMON ] && OSDDEFAULT='true'
   OSDDESCR=''
   case $xOSDNAME in
-   alsa) OSDDESCR='(ALSA sound server, required to play audio)' ;;
-   cups) OSDDESCR='(CUPS printing, required to print)' ;;
-   messagebus) OSDDESCR='(DBUS interprocess messaging, required by some apps)' ;;
-   rc.acpi) OSDDESCR='(ACPI management, not essential)' ;;
-   slmodem) OSDDESCR='(Only needed for certain Internet dialup modems)' ;;
-   sys_logger) OSDDESCR='(Logs kernel & app. info. & error messages, not essential)' ;;
-   rc.smbqmsvc) OSDDESCR='(only needed for quick mounting Samba shares in lameSMBxplorer)' ;;
+   alsa) OSDDESCR='('$(gettext 'ALSA sound server, required to play audio')')' ;;
+   cups) OSDDESCR='('$(gettext 'CUPS printing, required to print')')' ;;
+   messagebus) OSDDESCR='('$(gettext 'DBUS interprocess messaging, required by some apps')')' ;;
+   rc.acpi) OSDDESCR='('$(gettext 'ACPI management, not essential')')' ;;
+   slmodem) OSDDESCR='('$(gettext 'Only needed for certain Internet dialup modems')')' ;;
+   sys_logger) OSDDESCR='('$(gettext 'Logs kernel & app. info. & error messages, not essential')')' ;;
+   rc.smbqmsvc) OSDDESCR='('$(gettext 'only needed for quick mounting Samba shares in lameSMBxplorer')')' ;;
   esac
   OSDBOXES="${OSDBOXES} <checkbox><label>${xOSDNAME} ${OSDDESCR}</label><default>${OSDDEFAULT}</default><variable>OSDCHK_${osdcnt}_</variable></checkbox>"
   echo "OSDCHK_${osdcnt}_|${OSDDIR}|${OSDNAME}" >> /tmp/bootmanager_osd
  done
  if [ "`grep '/etc/rc.d/rc.firewall' /etc/rc.d/rc.local`" != "" ];then
   osdcnt=`expr $osdcnt + 1`
   OSDDEFAULT='false'
   [ -x /etc/rc.d/rc.firewall ] && OSDDEFAULT='true'
-  OSDBOXES="${OSDBOXES} <checkbox><label>rc.firewall (Firewall important security on Internet)</label><default>${OSDDEFAULT}</default><variable>OSDCHK_${osdcnt}_</variable></checkbox>"
+  OSDBOXES="${OSDBOXES} <checkbox><label>rc.firewall ($(gettext 'Firewall important security on Internet'))</label><default>${OSDDEFAULT}</default><variable>OSDCHK_${osdcnt}_</variable></checkbox>"
   echo "OSDCHK_${osdcnt}_|/etc/rc.d|rc.firewall" >> /tmp/bootmanager_osd
  fi
  #also offer udev management...
  osdcnt=`expr $osdcnt + 1`
  OSDDEFAULT='false'
  [ "`grep '^BACKENDON' /etc/eventmanager | grep 'true'`" != "" ] && OSDDEFAULT='true'
- OSDBOXES="${OSDBOXES} <checkbox><label>udev (Hardware hotplug detection -- see 'HELP')</label><default>${OSDDEFAULT}</default><variable>OSDCHK_${osdcnt}_</variable></checkbox>"
+ OSDBOXES="${OSDBOXES} <checkbox><label>udev (`gettext \"Hardware hotplug detection -- see 'HELP'\"`)</label><default>${OSDDEFAULT}</default><variable>OSDCHK_${osdcnt}_</variable></checkbox>"
  echo "OSDCHK_${osdcnt}_||udev" >> /tmp/bootmanager_osd
 
  export MAIN_DIALOG="
-<window title=\"BootManager: Manage system services\" icon-name=\"gtk-cdrom\">
+<window title=\"$(gettext 'BootManager: Manage system services')\" icon-name=\"gtk-cdrom\">
 <vbox>
- <text use-markup=\"true\"><label>\"<b>Untick a checkbox to prevent service from running at startup</b>\"</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'Untick a checkbox to prevent service from running at startup')</b>\"</label></text>
  ${OSDBOXES}
  <hbox>
   <button ok></button>
   <button cancel></button>
-  <button><input file>/usr/local/lib/X11/mini-icons/mini-question.xpm</input><label>HELP</label><action>defaulttextviewer /etc/init.d/README.txt & </action></button>
+  <button><input file>/usr/local/lib/X11/mini-icons/mini-question.xpm</input><label>$(gettext 'HELP')</label><action>defaulttextviewer /etc/init.d/README.txt & </action></button>
  </hbox>
 </vbox>
 </window>
 "
  RETSTRING="`gtkdialog3 --program=MAIN_DIALOG --center`"
@@ -440,18 +444,18 @@
   OSDDIR="`grep "$OSDVAR" /tmp/bootmanager_osd | cut -f 2 -d '|'`"
   OSDNAME="`grep "$OSDVAR" /tmp/bootmanager_osd | cut -f 3 -d '|'`"
   if [ "$OSDNAME" = "udev" ];then
    if [ "`echo "$RETSTRING" | grep "$OSDVAR" | grep 'true'`" != "" ];then
     if [ "`grep '^BACKENDON' /etc/eventmanager | grep 'false'`" != "" ];then
-     xmessage -center -bg orange "The EventManager will now be run, so that you can enable 'udev'.
-You will need to tick the 'hotplug module/firmware loading' checkbox..."
+     xmessage -center -bg orange "`gettext \"The EventManager will now be run, so that you can enable 'udev'.
+You will need to tick the 'hotplug module/firmware loading' checkbox...\"`"
      eventmanager &
     fi
    else
     if [ "`grep '^BACKENDON' /etc/eventmanager | grep 'true'`" != "" ];then
-     xmessage -center -bg orange "The EventManager will now be run, so that you can disable 'udev'.
-You will need to untick the 'hotplug module/firmware loading' checkbox..."
+     xmessage -center -bg orange "`gettext \"The EventManager will now be run, so that you can disable 'udev'.
+You will need to untick the 'hotplug module/firmware loading' checkbox...\"`"
      eventmanager &
     fi
    fi
   fi
   if [ "$OSDDIR" = "/etc/init.d" -o "$OSDDIR" = "/etc/rc.d" ];then
@@ -492,64 +496,64 @@
 fi
 
 #######################################################
 
 export MAIN_DIALOG="
-<window title=\"BootManager\" icon-name=\"gtk-cdrom\">
+<window title=\"$(gettext 'BootManager')\" icon-name=\"gtk-cdrom\">
 <vbox>
  <text use-markup=\"true\">
- <label>\"<b>Puppy Boot Configuration</b>\"</label></text>
+ <label>\"<b>$(gettext 'Puppy Boot Configuration')</b>\"</label></text>
 
- <frame Load SFS files>
-  <text><label>Puppy has a file named '${DISTRO_PUPPYSFS}' that is always loaded. However, extra SFS files can be loaded at bootup, for example 'kde.sfs' to provide KDE applications, and 'devx.sfs' to provide everything for compiling C/C++ source. These can be thought of as 'combo packs' of many packages in one file.</label></text>
+ <frame $(gettext 'Load SFS files')>
+  <text><label>`eval_gettext \"Puppy has a file named '\\\${DISTRO_PUPPYSFS}' that is always loaded. However, extra SFS files can be loaded at bootup, for example 'kde.sfs' to provide KDE applications, and 'devx.sfs' to provide everything for compiling C/C++ source. These can be thought of as 'combo packs' of many packages in one file.\"`</label></text>
   <hbox>
-   <text><label>Choose which extra SFS files to load at bootup:</label></text>
+   <text><label>$(gettext 'Choose which extra SFS files to load at bootup:')</label></text>
     <button>
      <input file>/usr/local/lib/X11/pixmaps/module24.xpm</input>
      <action>bootmanager extrasfs</action>
     </button>
   </hbox>
  </frame>
 
- <frame Load kernel modules>
-  <text><label>If a driver module did not get loaded, or the wrong one got loaded, or you want to 'blacklist' a module, this is the place. A common scenario is a driver got auto-loaded, for say your wireless network card, but you cannot or do not want to use it, and want some other module or want to use Ndiswrapper (to use the Windows driver).</label></text>
+ <frame $(gettext 'Load kernel modules')>
+  <text><label>`gettext \"If a driver module did not get loaded, or the wrong one got loaded, or you want to 'blacklist' a module, this is the place. A common scenario is a driver got auto-loaded, for say your wireless network card, but you cannot or do not want to use it, and want some other module or want to use Ndiswrapper (to use the Windows driver).\"`</label></text>
   <hbox>
-   <text><label>Click here to 'blacklist' a module:</label></text>
+   <text><label>`gettext \"Click here to 'blacklist' a module:\"`</label></text>
     <button>
      <input file>/usr/local/lib/X11/pixmaps/module24.xpm</input>
      <action>bootmanager blacklist</action>
     </button>
   </hbox>
   <hbox>
-   <text><label>Click here to add a new module:</label></text>
+   <text><label>$(gettext 'Click here to add a new module:')</label></text>
     <button>
      <input file>/usr/local/lib/X11/pixmaps/module24.xpm</input>
      <action>bootmanager yeslist</action>
     </button>
   </hbox>
   <hbox>
-   <text><label>Give preference to one module over another:</label></text>
+   <text><label>$(gettext 'Give preference to one module over another:')</label></text>
     <button>
      <input file>/usr/local/lib/X11/pixmaps/module24.xpm</input>
      <action>bootmanager preflist</action>
     </button>
   </hbox>
  </frame>
 
- <frame Manage system services>
-   <text><label>These are processes (applications) that are started at bootup and run continuously in the background. On slow PCs it may help to not run some of these.</label></text>
+ <frame $(gettext 'Manage system services')>
+   <text><label>$(gettext 'These are processes (applications) that are started at bootup and run continuously in the background. On slow PCs it may help to not run some of these.')</label></text>
   <hbox>
-   <text><label>Choose which system services to run at startup:</label></text>
+   <text><label>$(gettext 'Choose which system services to run at startup:')</label></text>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/so.xpm</input>
      <action>bootmanager sysdaemons</action>
     </button>
   </hbox>
  </frame>
 
  <hbox>
-  <button><input file stock=\"gtk-quit\"></input><label>QUIT</label></button>
+  <button><input file stock=\"gtk-quit\"></input><label>$(gettext 'QUIT')</label></button>
  </hbox>
 </vbox>
 </window>
 "
 

Changes to woof-code/rootfs-skeleton/usr/sbin/burniso2cd

@@ -1,39 +1,49 @@
 #!/bin/sh
 #(c) Copyright 2006, 2007 Barry Kauler.
-#Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html). 2007 www.puppylinux.com
+#Lesser GPL licence v2 (/usr/share/doc/legal). 2007 www.puppylinux.com
 #simple script to burn an iso file to cd, using cdrecord.
 #7Sept2007: cdecord -scanbus bugfix, plus overall improvements.
 #v3.02 2Nov2007 BK: bugfix. v3.94 24dec2007: no /dev/hd*
 #w482 change -pad to padsize=300k, recommended by xorriso developer.
 #w482 migrate to using xorriso.
 #v431 rerwin: Add wait for drive lights to stop flashing before verifying and log the verify dd messages.
 #110205 previous probedisk script removed.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAIN=burniso2cd
+export TEXTDOMAINDIR=/usr/share/locale
+export OUTPUT_CHARSET=UTF-8
+eval_gettext () {
+  local myMESSAGE=$(gettext "$1")
+  eval echo \"$myMESSAGE\"
+}
+export LANGORG=$LANG
 
 CDRECORD='cdrecord'
 if [ "`which xorriso`" != "" ];then
  CDRECORD='xorrecord'
  export MKISOFS='xorrisofs' #growisofs reads this variable.
 fi
 
-MEDIATYPE="`Xdialog --wmclass "mini-cd" --title "Burniso2cd" --stdout --menubox "Welcome to our little CD/DVD burner program!\nPlease choose whether you want to burn to a CD or DVD media.\nNote that DVDs are always burnt 'open' so can be used by Puppy\nas normal or multisession, whereas for CD you will be given\nthe choice further on whether to burn as closed or open." 0 0 5 CD "CD-R or CD-RW (must be blank)" DVD "DVD-R or DVD-RW (must be blank)"`"
+MEDIATYPE="`Xdialog --wmclass "mini-cd" --title "Burniso2cd" --stdout --menubox "$(gettext "Welcome to our little CD/DVD burner program!\nPlease choose whether you want to burn to a CD or DVD media.\nNote that DVDs are always burnt 'open' so can be used by Puppy\nas normal or multisession, whereas for CD you will be given\nthe choice further on whether to burn as closed or open.")" 0 0 5 CD "$(gettext 'CD-R or CD-RW (must be blank)')" DVD "$(gettext 'DVD-R or DVD-RW (must be blank)')"`"
 [ ! $? -eq 0 ] && exit
 
 SELECTIONS="`probedisk2 | grep '|optical|' | grep '/dev/' | cut -f 1,3 -d '|' | tr " " '_' | tr -s '_'`" #110205
 SELECTIONX="`echo "$SELECTIONS" | tr '|' " " | tr "\n" " "`"
 
 if [ "$SELECTIONX" = "" ];then
- xmessage "Sorry, no CD/DVD drive detected"
+ xmessage "$(gettext 'Sorry, no CD/DVD drive detected')"
  exit
 fi
 
-BURNERDRIVE="`Xdialog --wmclass "mini-cd" --title "Burniso2cd: Choose burner drive" --stdout --menubox "Choose the CD/DVD drive to burn to" 400x200 5 $SELECTIONX 2> /dev/null`"
+BURNERDRIVE="`Xdialog --wmclass "mini-cd" --title "$(gettext 'Burniso2cd: Choose burner drive')" --stdout --menubox "$(gettext 'Choose the CD/DVD drive to burn to')" 400x200 5 $SELECTIONX 2> /dev/null`"
 [ ! $? -eq 0 ] && exit
 
 [ ! -f /etc/cdburnerdevice ] && echo -n "$BURNERDRIVE" | sed -e 's/\/dev\///g' > /etc/cdburnerdevice
 
-ISOFILE="`Xdialog --wmclass "mini-cd" --backtitle "Please choose the iso file..." --title "Burniso2cd: Choose iso file" --stdout --no-buttons --fselect "*.iso" 0 0`"
+ISOFILE="`Xdialog --wmclass "mini-cd" --backtitle "$(gettext 'Please choose the iso file...')" --title "$(gettext 'Burniso2cd: Choose iso file')" --stdout --no-buttons --fselect "*.iso" 0 0`"
 if [ ! $? -eq 0 ];then
  exit
 fi
 
 CDR="$BURNERDRIVE"
@@ -47,26 +57,26 @@
 
 Please unmount CD drive, then click OK button..."
 done
 
 if [ "$MEDIATYPE" = "CD" ];then
- Xdialog --wmclass "mini-cd" --title "Burniso2cd" --stdout --ok-label "NORMAL" --cancel-label "MULTI"  --yesno "You have selected iso file:
+ Xdialog --wmclass "mini-cd" --title "Burniso2cd" --stdout --ok-label "$(gettext 'NORMAL')" --cancel-label "$(gettext 'MULTI')"  --yesno "$(gettext 'You have selected iso file:')
  $ISOFILE
 
-Do you want to burn a multi-session CD?
-A multi-session CD is one that is left \"open\" so that further
+$(gettext 'Do you want to burn a multi-session CD?
+A multi-session CD is one that is left "open" so that further
 tracks may be burnt later. The iso file that you have selected
 will be burnt now as the first track.
 Note, this is an experimental option for the Puppy live-CD, to
 allow burning of sessions back to CD, thus personal data is saved
-to CD and a hard drive or usb stick is not required.
-
-Please choose 'NORMAL' unless you have some special reason to burn
+to CD and a hard drive or usb stick is not required.')
+
+$(gettext "Please choose 'NORMAL' unless you have some special reason to burn
 the CD multi-session (such as the iso is specifically for multisession).
 
 Click 'NORMAL' button for normal burn...
-Click 'MULTI' button for multi-session..." 0 0
+Click 'MULTI' button for multi-session...")" 0 0
 
  RETVAL=$?
 else
  RETVAL=12
 fi
@@ -81,11 +91,11 @@
   BURNMULTI="-multi -tao padsize=300k" #w482
   BURNMSG=""
   ;;
  12) #multi dvd
   BURNMULTI="yes"
-  BURNMSG="(blank DVD-R. A DVD+/-RW will be fast-wiped if it has data)"
+  BURNMSG="$(gettext '(blank DVD-R. A DVD+/-RW will be fast-wiped if it has data)')"
   ;;
  *)
   exit
   ;;
 esac
@@ -92,15 +102,15 @@
 
 RECHECK="yes"
 BURNSPEED="10"
 
 while [ 1 ];do #burn-again-loop
-  BURNSPEED="`Xdialog --wmclass "mini-cd" --title "Burniso2cd: Burn $MEDIATYPE" --stdout --spinbox "Please insert blank $MEDIATYPE into $CDR
+  BURNSPEED="`Xdialog --wmclass "mini-cd" --title "$(gettext 'Burniso2cd: Burn') $MEDIATYPE" --stdout --spinbox "$(eval_gettext "Please insert blank \\\$MEDIATYPE into \\\$CDR")
 $BURNMSG
-(which is described as: ${CDDESCR})
+$(gettext '(which is described as:') ${CDDESCR})
 
-Then click 'OK' button..." 0 0 4 32 $BURNSPEED "Set burn speed"`"
+$(gettext 'Then click 'OK' button...')" 0 0 4 32 $BURNSPEED "$(gettext 'Set burn speed')"`"
 
  [ ! $? -eq 0 ] && exit
 
  sync
  if [ "$MEDIATYPE" = "CD" ];then
@@ -110,50 +120,50 @@
   #else
   # DEVDEV="$CDR"
   #fi
   DEVDEV="$CDR" #w482
 
-  echo "Now executing:"
+  echo "$(gettext 'Now executing:')"
   echo " $CDRECORD $BURNMULTI -data -eject -v speed=$BURNSPEED dev=$DEVDEV $ISOFILE"
   rxvt -name burniso2cd -bg orange -geometry 80x10 -e $CDRECORD $BURNMULTI -data -eject -v speed=$BURNSPEED dev=$DEVDEV "$ISOFILE"
  else #dvd
-  echo "Now executing:"
+  echo "$(gettext 'Now executing:')"
   echo " growisofs -speed=$BURNSPEED -Z $CDR=$ISOFILE"
   rxvt -name burniso2cd -bg orange -geometry 80x10 -e growisofs -speed=$BURNSPEED -Z $CDR="$ISOFILE"
  fi
  sync
- echo "...done"
+ echo "$(gettext '...done')"
 
  #v2.10 kirk contributed this...
  # ******Verify burn******
  DEVNAME="`echo -n "$CDR" | grep '/dev' | cut -f 3 -d '/'`"
  if [ ! "$DEVNAME" = "" -a "$RECHECK" = "yes" ];then
-  Xdialog --wmclass "mini-cd" --title "Burniso2cd: Finished" --stdout --yesno "Would you like to verify that the burn was successful?
-This may take a while depending on the size of the iso file." 0 0
+  Xdialog --wmclass "mini-cd" --title "$(gettext 'Burniso2cd: Finished')" --stdout --yesno "$(gettext 'Would you like to verify that the burn was successful?
+This may take a while depending on the size of the iso file.')" 0 0
   if  [ "$?" = "0" ] ;then
-   xmessage -bg "#80ff80" -center -name "burniso2cd" -title "Burniso2cd: Burn Verify" -buttons "OKAY:10" "Make sure the CD/DVD drive is closed,
-then click OK"
+   xmessage -bg "#80ff80" -center -name "burniso2cd" -title "$(gettext 'Burniso2cd: Burn Verify')" -buttons "OKAY:10" "$(gettext 'Make sure the CD/DVD drive is closed,
+then click OK')"
    echo "Waiting 15 seconds to allow drive lights to finish blinking" > /tmp/burniso2cd.log #v431
    sleep 15 #v431
    if [ "$( md5sum $ISOFILE | cut -f 1 -d " " )" = "$(dd if=$CDR 2>> /tmp/burniso2cd.log | head -c `stat --format=%s $ISOFILE` | md5sum | cut -f 1 -d " " )" ] ;then #v431
-    xmessage -bg "#80ff80" -center -name "burniso2cd" -title "Burniso2cd: Burn Verify" -buttons "OKAY:10" "The burn has been verified as good!"
+    xmessage -bg "#80ff80" -center -name "burniso2cd" -title "$(gettext 'Burniso2cd: Burn Verify')" -buttons "OKAY:10" "$(gettext 'The burn has been verified as good!')"
    else
-    xmessage -bg "#ffc0c0" -center -name "burniso2cd" -title "Burniso2cd: Burn Verify" -buttons "OKAY:10" "The burn was not verified. See details in /tmp/burniso2cd.log. You should start over."
+    xmessage -bg "#ffc0c0" -center -name "burniso2cd" -title "$(gettext 'Burniso2cd: Burn Verify')" -buttons "OKAY:10" "$(gettext 'The burn was not verified. See details in /tmp/burniso2cd.log. You should start over.')"
    fi
   else
    RECHECK="no" #do not check if doing repeat burns.
   fi
  fi
 
  eject $CDR
- Xdialog --wmclass "mini-cd" --title "Burniso2cd: Finished" --stdout --ok-label "FINISHED" --cancel-label "REPEAT" --yesno "If all went well, you have now burnt iso file
+ Xdialog --wmclass "mini-cd" --title "$(gettext 'Burniso2cd: Finished')" --stdout --ok-label "$(gettext 'FINISHED')" --cancel-label "$(gettext 'REPEAT')" --yesno "$(gettext 'If all went well, you have now burnt iso file')
 $ISOFILE
-to a $MEDIATYPE!
+$(gettext 'to a') $MEDIATYPE!
 
-If you want to burn the iso file to another $MEDIATYPE,
-click 'REPEAT' button...
+$(gettext 'If you want to burn the iso file to another') $MEDIATYPE,
+$(gettext "click 'REPEAT' button...")
 
-Otherwise, click 'FINISHED' to quit..." 0 0
+$(gettext "Otherwise, click 'FINISHED' to quit...")" 0 0
  [ $? -ne 1 ] && break
 done #burn-again-loop
 
 ###END###

Changes to woof-distro/x86/racy/testing/DISTRO_PKGS_SPECS-puppy-wary5

@@ -118,12 +118,12 @@
 yes|desk_icon_theme_smooth_color||exe
 no|desk_icon_theme_stardust||exe
 yes|desk_icon_theme_stark042||exe
 yes|dhcpcd|dhcpcd|exe,dev>null,doc,nls
 no|dhcpcd||exe
-yes|dialog|dialog|exe,dev>null,doc,nls| #the T2 dialog is linked against libncurses, my pet libncursesw... no, try later...
-no|dialog||exe,dev>null,doc,nls
+no|dialog|dialog|exe,dev>null,doc,nls| #the T2 dialog is linked against libncurses, my pet libncursesw... no, try later...
+yes|dialog||exe,dev>null,doc,nls
 yes|dictd_client||exe
 yes|didiwiki||exe
 yes|dietlibc|dietlibc|exe>dev,dev,doc,nls
 no|dietlibc||exe>dev,dev,doc,nls| #i compiled latest dietlibc in t2 but made it into a pet...
 yes|diffstat|diffstat|exe,dev>null,doc,nls

Changes to woof-distro/x86/wary/testing/DISTRO_PKGS_SPECS-puppy-wary5

@@ -118,12 +118,12 @@
 yes|desk_icon_theme_smooth_color||exe
 no|desk_icon_theme_stardust||exe
 yes|desk_icon_theme_stark042||exe
 yes|dhcpcd|dhcpcd|exe,dev>null,doc,nls
 no|dhcpcd||exe
-yes|dialog|dialog|exe,dev>null,doc,nls| #the T2 dialog is linked against libncurses, my pet libncursesw... no, try later...
-no|dialog||exe,dev>null,doc,nls
+no|dialog|dialog|exe,dev>null,doc,nls| #the T2 dialog is linked against libncurses, my pet libncursesw... no, try later...
+yes|dialog||exe,dev>null,doc,nls
 yes|dictd_client||exe
 yes|didiwiki||exe
 yes|dietlibc|dietlibc|exe>dev,dev,doc,nls
 no|dietlibc||exe>dev,dev,doc,nls| #i compiled latest dietlibc in t2 but made it into a pet...
 yes|diffstat|diffstat|exe,dev>null,doc,nls