Check-in [4978ad1d29]
Not logged in

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

Overview

SHA1 Hash:4978ad1d2979efaec19021a0a20bc5ecc1942e97
Date: 2012-02-01 07:47:53
User: BarryK
Comment:internationalized: rodin.s: connectwizard, connectwizard_2nd, cups_shell, delayedrun, dotpup, download_file. BK: eventmanager

Tags And Properties
Changes

Changes to woof-code/rootfs-skeleton/sbin/pup_event_frontend_d

@@ -30,10 +30,11 @@
 #110513 support sudo for non-root user. /etc/sudoers specifies password not required.
 #111012 forwarding to old yaf-splash not killable.
 #111228 added removepreview.sh test (in /usr/local/petget) but probably test for "petget" is already enough.
 #120129 karl godt: fix ZOMBIES, see http://murga-linux.com/puppy/viewtopic.php?t=71767&start=420. see also rc.shutdown, pmount, drive_all.
 #120131 rodin.s: internationalized. BK: note, rodin.s's script different from that in Woof, applied changes line-by-line.
+#120201 more gettext added.
 
 [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} #110513
 
 export TEXTDOMAIN=pup_event_frontend_d
 export OUTPUT_CHARSET=UTF-8
@@ -146,11 +147,11 @@
   <About>
    <Purpose>`gettext \"Drive icons are part of Puppy Event Manager, see System menu\"`</Purpose>
    <Authors>Barry Kauler LGPL 2008</Authors>
   </About>
   <AppMenu>
-   <Item option=\"pmount_${DRV_CATEGORY}\" icon=\"gtk-harddisk\"><Label>Run Pmount Puppy Drive Mounter</Label></Item><Item option=\"eventmanager\" icon=\"gtk-execute\"><Label>Run Desktop Drive Icon Manager</Label></Item>${MOREITEMS}
+   <Item option=\"pmount_${DRV_CATEGORY}\" icon=\"gtk-harddisk\"><Label>$(gettext 'Run Pmount Puppy Drive Mounter')</Label></Item><Item option=\"eventmanager\" icon=\"gtk-execute\"><Label>Run Desktop Drive Icon Manager</Label></Item>${MOREITEMS}
   </AppMenu>
 </AppInfo>" > /root/.pup_event/drive_${ONEDRVNAME}/AppInfo.xml
 }
 
 #free_coord() {
@@ -375,11 +376,11 @@
      format_size_func #formats SIZE for display.
      INFO="`eval_gettext \"Filesystem: \\\${FSTYPE} Size: \\\${SIZE}\"`" #*WARNING* translate same "Size:" in clean_desk_icons !!!
     fi
    fi
    #v424 add item to unmount all partitions...
-   MOREITEMS="<Item option=\"unmount\" icon=\"gtk-harddisk\"><Label>Unmount ${ONEDRVNAME} (if currently mounted)</Label></Item><Item option=\"unmountall\" icon=\"gtk-harddisk\"><Label>Unmount ALL mounted partitions</Label></Item>"
+   MOREITEMS="<Item option=\"unmount\" icon=\"gtk-harddisk\"><Label>$(gettext 'Unmount') ${ONEDRVNAME} $(gettext '(if currently mounted)')</Label></Item><Item option=\"unmountall\" icon=\"gtk-harddisk\"><Label>Unmount ALL mounted partitions</Label></Item>"
    create_appinfo_func #needs INFO, DRV_CATEGORY, MOREITEMS, ONEDRVNAME
   fi
 #  if [ "$ICONDESK" = "true" ];then #see /etc/eventmanager.
    MNTSTATUS="`df | grep "$drvPATTERN"`"
    if [ "$MNTSTATUS" = "" ];then

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

@@ -16,10 +16,11 @@
 #101002 rerwin: Wait for initialization scripts to complete. 101122 breakout.
 #101206 pupdial_wizard_helper now called from pupdial.
 #111022 added hostname-set button.
 #111028 put hostname entry box directly in this wizard. internationalised.
 #111106 do not use $HOSTNAME, as hostname-set may have just been run.
+#120201 one gettext translation added.
 
 export TEXTDOMAIN=connectwizard
 export OUTPUT_CHARSET=UTF-8
 
 GTKDIALOGEXE="gtkdialog"
@@ -291,11 +292,11 @@
   ${CONNECTROARINGPENGUIN}
 
  </frame>
  </vbox>
  <vbox>
- <frame Tools>
+ <frame $(gettext 'Tools')>
 
   <hbox>
    <text>
     <label>${M_icw7}</label>
    </text>

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

@@ -3,16 +3,23 @@
 #Lesser GPL licence v2 (/usr/share/doc/legal/lgpl-2.1.txt)
 #called from 'connectwizard'
 #choose between old Network Wizard, new Network Wizard and Pwireless2.
 #100227 BK initial creation of script.
 #100306 added Barry's Simple Network Setup. 100810 moved SNS to top choice, improved messages.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAIN=connectwizard_2nd
+export TEXTDOMAINDIR=/usr/share/locale
+export OUTPUT_CHARSET=UTF-8
+. gettext.sh
+export LANGORG=$LANG
 
 #100306
 SNS=""
 if [ -d /usr/local/simple_network_setup ];then
- SNS="<frame Simple Network Setup (SNS)>  <hbox>
-   <text><label>This is a simple network setup tool created by BarryK. Not as many features as the Network Wizard, for example requires the network to have a DHCP server (the vast majority of cases). The greatest feature is extreme ease of use. Recommended for most people.</label></text>
+ SNS="<frame $(gettext 'Simple Network Setup') (SNS)>  <hbox>
+   <text><label>$(gettext 'This is a simple network setup tool created by BarryK. Not as many features as the Network Wizard, for example requires the network to have a DHCP server (the vast majority of cases). The greatest feature is extreme ease of use. Recommended for most people.')</label></text>
    <vbox>
    <button>
     <input file>/usr/local/lib/X11/mini-icons/pc-2x.xpm</input>
     <action type=\"exit\">FLAGSNS</action>
    </button>
@@ -23,11 +30,11 @@
 fi
 
 PWIRELESS=""
 if [ -d /usr/local/Pwireless2 ];then #Jemimah's wireless connection gui.
  PWIRELESS="<frame Pwireless2>  <hbox>
-   <text><label>This is a tool developed by Jemimah. Mostly for wireless connectivity for laptops, but also can handle ethernet connection. Very good for wireless roaming. Under very active development (see forum).</label></text>
+   <text><label>$(gettext 'This is a tool developed by Jemimah. Mostly for wireless connectivity for laptops, but also can handle ethernet connection. Very good for wireless roaming. Under very active development (see forum).')</label></text>
    <vbox>
    <button>
     <input file>/usr/local/lib/X11/mini-icons/pc-2x.xpm</input>
     <action type=\"exit\">FLAGPWIRELESS</action>
    </button>
@@ -37,12 +44,12 @@
 "
 fi
 
 NETWIZARD=""
 if [ -f /usr/sbin/net-setup.sh ];then #wizard developed by Dougal.
- NETWIZARD="<frame Network Wizard>  <hbox>
-   <text><label>This is the most sophisticated tool for network setup in Puppy. It is based on the 'Classic' Network Wizard originally written by BarryK, but greatly enhanced by Dougal, Rarsa, Shinobar and others. It is for both wired (ethernet) and wireless connectivity, with more configuration features than Pwireless and SNS.</label></text>
+ NETWIZARD="<frame $(gettext 'Network Wizard')>  <hbox>
+   <text><label>`gettext \"This is the most sophisticated tool for network setup in Puppy. It is based on the 'Classic' Network Wizard originally written by BarryK, but greatly enhanced by Dougal, Rarsa, Shinobar and others. It is for both wired (ethernet) and wireless connectivity, with more configuration features than Pwireless and SNS.\"`</label></text>
    <vbox>
    <button>
     <input file>/usr/local/lib/X11/mini-icons/pc-2x.xpm</input>
     <action type=\"exit\">FLAGNETWIZARD</action>
    </button>
@@ -52,12 +59,12 @@
 "
 fi
 
 NETWIZCLASSIC=""
 if [ -f /usr/local/net_setup/usr/sbin/net-setup.sh ];then #wizard used in older puppies.
- NETWIZCLASSIC="<frame Network Wizard (Classic)>  <hbox>
-   <text><label>The Network Wizard was originally developed by Barry Kauler, with considerable input from others. </label></text>
+ NETWIZCLASSIC="<frame $(gettext 'Network Wizard (Classic)')>  <hbox>
+   <text><label>$(gettext 'The Network Wizard was originally developed by Barry Kauler, with considerable input from others.') </label></text>
    <vbox>
    <button>
     <input file>/usr/local/lib/X11/mini-icons/pc-2x.xpm</input>
     <action type=\"exit\">FLAGNETWIZCLASSIC</action>
    </button>
@@ -66,13 +73,13 @@
   </frame>
 "
 fi
 
 export MAIN_DIALOG="
-<window title=\"Network Connection Wizard\" icon-name=\"gtk-connect\">
+<window title=\"$(gettext 'Network Connection Wizard')\" icon-name=\"gtk-connect\">
 <vbox>
- <text><label>This build of Puppy has the following choices of GUI tool that you can use to connect to a network (and Internet)...</label></text>
+ <text><label>$(gettext 'This build of Puppy has the following choices of GUI tool that you can use to connect to a network (and Internet)...')</label></text>
 
  ${SNS}
  ${PWIRELESS}
  ${NETWIZARD}
  ${NETWIZCLASSIC}
@@ -116,16 +123,16 @@
  esac
 
  IFSUP="`ifconfig | grep -E '^eth|^wlan'`"
  if [ "$IFSUP" != "" ];then
   IFSUP="`echo "$IFSUP" | cut -f 1 -d ' ' | tr '\n' ' '`"
-  MSG1="These interfaces are active:
+  MSG1="$(gettext 'These interfaces are active:')
 $IFSUP
 
-...Satisfied? Got online ok? If yes, click 'YES SET AS DEFAULT' button, so Puppy will be optimised to use this tool for future boots."
+`gettext \"...Satisfied? Got online ok? If yes, click 'YES SET AS DEFAULT' button, so Puppy will be optimised to use this tool for future boots.\"`"
  else
-  MSG1="No interfaces are active, so was the tool unsatisfactory? If it actually was OK, click the 'YES SET AS DEFAULT' button. But, it seems not, so..."
+  MSG1="`gettext \"No interfaces are active, so was the tool unsatisfactory? If it actually was OK, click the 'YES SET AS DEFAULT' button. But, it seems not, so...\"`"
  fi
 
   CURREXEC="`cat /usr/local/bin/defaultconnect | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
   [ "`grep 'gprs' /usr/local/bin/defaultconnect`" != "" ] && CURREXEC='pgprs-connect'
   [ "$CURREXEC" = "gkdial" ] && CURREXEC="pupdial" #for older pups.
@@ -150,19 +157,19 @@
   [ "$NWEXEC" = "$CURREXEC" ] && exit
 
 # <text><label>Note, the current default network tool is '${CURRCHOICE}'.</label></text>
 
   export POST_DIALOG="
-<window title=\"Network Connection Wizard\" icon-name=\"gtk-connect\">
+<window title=\"$(gettext 'Network Connection Wizard')\" icon-name=\"gtk-connect\">
 <vbox>
- <text use-markup=\"true\"><label>\"<b>You have finished running '${NWCHOICE}'</b>\"</label></text>
+ <text use-markup=\"true\"><label>\"<b>$(gettext 'You have finished running') '${NWCHOICE}'</b>\"</label></text>
  <text><label>\"${MSG1}\"</label></text>
- <text><label>Click 'TRY A DIFFERENT TOOL' if you would like to try one of the other network setup tools...</label></text>
- <text><label>Click 'Cancel' button to quit without setting a default tool...</label></text>
+ <text><label>`gettext \"Click 'TRY A DIFFERENT TOOL' if you would like to try one of the other network setup tools...\"`</label></text>
+ <text><label>`gettext \"Click 'Cancel' button to quit without setting a default tool...\"`</label></text>
  <hbox>
-   <button><input file>/usr/local/lib/X11/mini-icons/mini-tick.xpm</input><label>YES SET AS DEFAULT</label><action type=\"exit\">FLAGYES</action></button>
-   <button><input file>/usr/local/lib/X11/mini-icons/mini-cross.xpm</input><label>TRY A DIFFERENT TOOL</label><action type=\"exit\">FLAGTRYDIFF</action></button>
+   <button><input file>/usr/local/lib/X11/mini-icons/mini-tick.xpm</input><label>$(gettext 'YES SET AS DEFAULT')</label><action type=\"exit\">FLAGYES</action></button>
+   <button><input file>/usr/local/lib/X11/mini-icons/mini-cross.xpm</input><label>$(gettext 'TRY A DIFFERENT TOOL')</label><action type=\"exit\">FLAGTRYDIFF</action></button>
    <button cancel></button>
  </hbox>
 </vbox>
 </window>
 "
@@ -172,16 +179,16 @@
    CHOSENACTION="`echo "$RETSTRING" | grep '^EXIT' | grep 'FLAG' | cut -f 2 -d '"'`" #'geany
    case $CHOSENACTION in
     FLAGYES)
      echo -e "#!/bin/sh\nexec ${NWEXEC}" > /usr/local/bin/defaultconnect
      export INFO_DIALOG="
-<window title=\"Network Connection Wizard\" icon-name=\"gtk-connect\">
+<window title=\"$(gettext 'Network Connection Wizard')\" icon-name=\"gtk-connect\">
 <vbox>
- <text use-markup=\"true\"><label>\"<b>'${NWCHOICE}' now set as default network tool. Here are some technical notes that you might find useful:</b>\"</label></text>
- <text><label>The default network tool is specified in file /usr/local/bin/defaultconnect, and if you were to look in that file now you will see that it contains '${NWEXEC}'. If you ever wanted to manually change that back to the original setting, you could edit the file and in place of '${NWEXEC}' put 'connectwizard'.</label></text>
-  <text><label>If you click on the 'connect' icon on the desktop, it will directly start the '${NWEXEC}' tool. In fact, it starts whatever has been specified in /usr/local/bin/defaultconnect. You can right-click on the 'connect' icon for a menu with other run options.</label></text>
- <text><label>EXPERTS ONLY: If you really want to know in-depth about the inner workings, specifically how the default tool is activated at bootup, look in /etc/rc.d/rc.sysinit. Two other relevant scripts are /usr/sbin/connectwizard and /usr/sbin/connectwizard_2nd.</label></text>
+ <text use-markup=\"true\"><label>\"<b>'${NWCHOICE}' $(gettext 'now set as default network tool. Here are some technical notes that you might find useful:')</b>\"</label></text>
+ <text><label>`eval_gettext \"The default network tool is specified in file /usr/local/bin/defaultconnect, and if you were to look in that file now you will see that it contains '\\\${NWEXEC}'. If you ever wanted to manually change that back to the original setting, you could edit the file and in place of '\\\${NWEXEC}' put 'connectwizard'.\"`</label></text>
+  <text><label>`eval_gettext \"If you click on the 'connect' icon on the desktop, it will directly start the '\\\${NWEXEC}' tool. In fact, it starts whatever has been specified in /usr/local/bin/defaultconnect. You can right-click on the 'connect' icon for a menu with other run options.\"`</label></text>
+ <text><label>`gettext \"EXPERTS ONLY: If you really want to know in-depth about the inner workings, specifically how the default tool is activated at bootup, look in /etc/rc.d/rc.sysinit. Two other relevant scripts are /usr/sbin/connectwizard and /usr/sbin/connectwizard_2nd.\"`</label></text>
  <hbox><button ok></button></hbox>
 </vbox>
 </window>"
      gtkdialog3 --program=INFO_DIALOG --center
     ;;

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

@@ -8,10 +8,20 @@
 #w482 general update, now using html help viewer.
 #091126 bugfix if using seamonkey/firefox ui for cups.
 #100410 extra test for SM 2.0.4 on slow PCs. Fix samba printing.
 #100512 fix samba printing, take two. 100706 fix.
 #101221 yaf-splash fix.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAIN=cups_shell
+export TEXTDOMAINDIR=/usr/share/locale
+export OUTPUT_CHARSET=UTF-8
+eval_gettext () {
+  local myMESSAGE=$(gettext "$1")
+  eval echo \"$myMESSAGE\"
+}
+export LANGORG=$LANG
 
 USEBROWSER="defaultbrowser"
 [ -f /usr/bin/netsurf-barewindow ] && USEBROWSER="netsurf-barewindow"
 [ -f /usr/local/bin/bareview ] && USEBROWSER="bareview" #from gtkmoz pkg.
 [ -f /usr/local/bin/cupsview ] && USEBROWSER="cupsview" #w471 from gtkmoz pkg.
@@ -34,11 +44,11 @@
  #[ "$SMBSPOOL" ] && cp -a $SMBSPOOL /usr/lib/cups/backend/smb
 fi
 [ -f /etc/opt/samba/smb.conf ] && chmod 755 /etc/opt/samba/smb.conf #need world-readable.
 [ -f /etc/samba/smb.conf ] && chmod 755 /etc/samba/smb.conf #need world-readable.
 
-Xdialog --yesno "Do you want to add a new printer?" 0 0
+Xdialog --yesno "$(gettext 'Do you want to add a new printer?')" 0 0
 if [ $? -ne 0 ];then
  #is cupsd running?...
  if [ "`pidof cupsd`" = "" ];then
   #[ -f /etc/rc.d/rc.cups ] && /etc/rc.d/rc.cups start
   #[ -f /etc/init.d/cups ] && /etc/init.d/cups start
@@ -90,11 +100,11 @@
 #w480, need to run cups-genppd if old cups...
 CUPSVERSION=""
 [ "`which cups-config`" != "" ] && CUPSVERSION="`cups-config --version`"
 if [ "$CUPSVERSION" = "1.1.23" ];then
 # yaf-splash -font "8x16" -outline 0 -margin 4 -bg orange -placement top -text "Please wait, composing Gutenprint '.ppd' driver files..." &
- yaf-splash -close never -bg orange -placement top -text "Please wait, composing Gutenprint '.ppd' driver files..." &
+ yaf-splash -close never -bg orange -placement top -text "`gettext \"Please wait, composing Gutenprint '.ppd' driver files...\"`" &
  X1PID=$!
  [ "`which cups-genppd.5.0`" != "" ] && cups-genppd.5.0
  [ "`which cups-genppd.5.2`" != "" ] && cups-genppd.5.2
  kill $X1PID
 fi

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

@@ -37,12 +37,17 @@
 #111026 decided not to run 'mousecheck' from here. instead, a button in 'quicksetup'.
 #111110 ping 64.233.169.103 address no longer responding. 01micko: use 8.8.8.8
 #111112 delay a bit more before flashplayer popup.
 #111113 fix for download url for flash player. 111117 fix.
 #120110 added sudo line. see also /etc/sudoers -- set delayedrun does not require password, probably a security hole, need to look at it again later.
+#120201 rodin.s: internationalized.
 
 [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} #120110
+
+export TEXTDOMAIN=delayedrun
+export OUTPUT_CHARSET=UTF-8
+. gettext.sh
 
 #variables created at bootup by 'init' in initramfs...
 . /etc/rc.d/PUPSTATE
 . /etc/DISTRO_SPECS
 
@@ -210,11 +215,11 @@
  fi
 fi
 
 #v2.16 popup a warning if booting from usb flash...
 if [ "$PMEDIA" = "usbflash" ];then
- yaf-splash -close never -fontsize large -bg yellow -timeout 3 -text "WARNING! Do not unplug USB Flash drive!" & #101009
+ yaf-splash -close never -fontsize large -bg yellow -timeout 3 -text "$(gettext 'WARNING! Do not unplug USB Flash drive!')" & #101009
 fi
 
 #v2.17 suggested by andrei...
 if [ -d /root/Startup ];then
  for a in /root/Startup/*
@@ -242,11 +247,11 @@
      sleep 1
      ping -c 1 www.google.com
      if [ $? -eq 0 ];then
       sleep 8 #111112 111117
       touch /var/local/internetsuccess
-      LANG=C Xdialog --center --title "Adobe Flash Player" --icon "/usr/share/doc/flashlogo.gif" --yesno "The Adobe Flash Player for the web browser is not installed.\\nClick the 'OK' button to download and install it (5.2MB).\\nNote, this dialog box only pops up once, so recommend you answer 'OK' now\\n(it can be installed later via the Puppy Package Manager)..." 0 0
+       Xdialog --center --title "$(gettext 'Adobe Flash Player')" --icon "/usr/share/doc/flashlogo.gif" --yesno "`gettext \"The Adobe Flash Player for the web browser is not installed.\\nClick the 'OK' button to download and install it (5.2MB).\\nNote, this dialog box only pops up once, so recommend you answer 'OK' now\\n(it can be installed later via the Puppy Package Manager)...\"`" 0 0
       if [ $? -eq 0 ];then
        cd /usr/lib/mozilla/plugins
        #111113 got download_url from: https://build.opensuse.org/package/view_file?file=update.sh&package=flash-player&project=multimedia%3Aapps&srcmd5=81520f2a67a286b473eca404e348cfb0
        download_url=$(curl -s 'http://get.adobe.com/flashplayer/completion/?installer=Flash_Player_11_for_other_Linux_(.tar.gz)_32-bit' | egrep  -o 'http:\/\/fpdownload.macromedia.com\/get\/flashplayer\/pdc\/11.*\/install_flash_player_11_linux.i386.tar.gz')
        #download_file http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz
@@ -266,10 +271,11 @@
           rm -rf usr
           if [ -f /usr/share/applications/flash-player-properties.desktop ];then
            #fix it...
            echo '[Desktop Entry]
 Name=Adobe Flash Player preferences
+Name[ru]=Настройки Adobe Flash плеера
 Comment=Preferences for Adobe Flash Player
 Exec=flash-player-properties
 Icon=flash-player-properties.png
 Terminal=false
 Type=Application
@@ -283,18 +289,18 @@
        [ -f $download_name ] && rm -f $download_name #111117 install_flash_player_10_linux.tar.gz
        ldd /usr/lib/mozilla/plugins/libflashplayer.so > /dev/null 2>&1
        [ $? -ne 0 ] && rm -f /usr/lib/mozilla/plugins/libflashplayer.so 2>/dev/null
        if [ -f /usr/lib/mozilla/plugins/libflashplayer.so ];then
         if [ -f /usr/share/applications/flash-player-properties.desktop ];then
-         LANG=C Xdialog --center --title "Adobe Flash Player" --icon "/usr/share/doc/flashlogo.gif" --msgbox "The Adobe Flash Player has been downloaded to:\n /usr/lib/mozilla/plugins/libflashplayer.so\nYou will need to exit from your web browser and restart it for the player to load\n\nNOTICE: This version of Adobe Flash Player has an executable named\n'flash-player-properties' to set preferences. When you close this window,\nthe menu will be updated -- look in the 'Utility' category." 0 0
+          Xdialog --center --title "$(gettext 'Adobe Flash Player')" --icon "/usr/share/doc/flashlogo.gif" --msgbox "`gettext \"The Adobe Flash Player has been downloaded to:\n /usr/lib/mozilla/plugins/libflashplayer.so\nYou will need to exit from your web browser and restart it for the player to load\n\nNOTICE: This version of Adobe Flash Player has an executable named\n'flash-player-properties' to set preferences. When you close this window,\nthe menu will be updated -- look in the 'Utility' category.\"`" 0 0
          fixmenus
          [ "`pidof jwm`" ] && jwm -restart
         else
-         LANG=C Xdialog --center --title "Adobe Flash Player" --icon "/usr/share/doc/flashlogo.gif" --msgbox "The Adobe Flash Player has been downloaded to:\\n /usr/lib/mozilla/plugins/libflashplayer.so\\nYou will need to exit from your web browser and restart it for the player to load" 0 0
+          Xdialog --center --title "$(gettext 'Adobe Flash Player')" --icon "/usr/share/doc/flashlogo.gif" --msgbox "$(gettext 'The Adobe Flash Player has been downloaded to:\\n /usr/lib/mozilla/plugins/libflashplayer.so\\nYou will need to exit from your web browser and restart it for the player to load')" 0 0
         fi
        else
-        LANG=C Xdialog --center --title "Adobe Flash Player" --icon "/usr/share/doc/flashlogo.gif" --msgbox "Sorry, the Player did not download. Try the Puppy Package Manager." 0 0
+         Xdialog --center --title "$(gettext 'Adobe Flash Player')" --icon "/usr/share/doc/flashlogo.gif" --msgbox "$(gettext 'Sorry, the Player did not download. Try the Puppy Package Manager.')" 0 0
        fi
       fi
       break
      fi
     fi

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

@@ -6,10 +6,18 @@
 #w015 march 2009 BK: update for Woof.
 #110402 added button to choose and install SFS file.
 #110813 fixed package-management url.
 #110814 01micko: convert script from gtkdialog2 to gtkdialog3+.
 #110910 BK: get a syntax error with gtkdialog3 (patriot-e version), bump to gtkdialog4.
+#120201 rodin.s: internationalized.
+
+export TEXTDOMAINDIR=/usr/share/locale
+export TEXTDOMAIN=dotpup
+eval_gettext () {
+  local myMESSAGE=$(gettext "$1")
+  eval echo \"$myMESSAGE\"
+}
 
 . /etc/DISTRO_SPECS
 
 #echo '#!/bin/sh' > /tmp/dotpup.sh
 #echo 'cd /usr/local/Dotpup-downloader-mu05' >> /tmp/dotpup.sh
@@ -34,28 +42,28 @@
 # <frame Further information>
 #  <text><label>It is recommended that you look through the official PETs for what you want first, for maximum compatibility. Then look at unofficial PETs. There is also an older 'DotPup' package system and you can recognise these by the '.pup' extension on the filename. For the sake of consistency and compatibility DotPup packages are discouraged, but if you want to install them, please first install the 'dotpuphandler' PET package, which enables DotPups to be installed by clicking on them in ROX-Filer. Most DotPups register with PETget, the PET package manager, so can be uninstalled by PETget, so there is some integration. There are lots of DotPups out there for historical reasons -- other than that, PET is preferable.</label></text>
 # </frame>
 
 DLG1="
-<window title=\"Install\">
+<window title=\"$(gettext 'Install')\">
  <vbox>
- <text><label>The word 'install' can mean two different things, either to install additional applications in the current Puppy, or to install Puppy to some other media. Take your pick!</label></text>
+ <text><label>`gettext \"The word 'install' can mean two different things, either to install additional applications in the current Puppy, or to install Puppy to some other media. Take your pick!\"`</label></text>
 
- <frame Install Puppy>
-  <text><label>Puppy can be installed to just about anything, including internal hard drive, USB drive, and Zip/LS120 diskette. If for example you are now running Puppy from live-CD and fancy booting Puppy off a USB Flash drive, this is the right place. There are two tools, the Puppy Universal Installer, and BootFlash -- the first is recommended, BootFlash is your second choice, a specialised tool if you cannot get the computer to boot from a USB drive.</label></text>
+ <frame $(gettext 'Install Puppy')>
+  <text><label>$(gettext 'Puppy can be installed to just about anything, including internal hard drive, USB drive, and Zip/LS120 diskette. If for example you are now running Puppy from live-CD and fancy booting Puppy off a USB Flash drive, this is the right place. There are two tools, the Puppy Universal Installer, and BootFlash -- the first is recommended, BootFlash is your second choice, a specialised tool if you cannot get the computer to boot from a USB drive.')</label></text>
   <hbox>
-   <text><label>Click button to run the Universal Installer:</label></text>
+   <text><label>$(gettext 'Click button to run the Universal Installer:')</label></text>
    <vbox>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/mini-ray.xpm</input>
      <action>/usr/sbin/puppyinstaller &</action>
      <action>EXIT:14</action>
     </button>
    </vbox>
   </hbox>
   <hbox>
-   <text><label>Click button to run BootFlash USB installer:</label></text>
+   <text><label>$(gettext 'Click button to run BootFlash USB installer:')</label></text>
    <vbox>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/mini-ray.xpm</input>
      <action>/usr/sbin/bootflash &</action>
      <action>EXIT:14</action>
@@ -62,37 +70,37 @@
     </button>
    </vbox>
   </hbox>
  </frame>
 
- <frame Install applications>
-  <text><label>The Puppy Package Manager is a tool for installing and uninstalling packages (applications). There are online repositories of ${DISTRO_BINARY_COMPAT} and Puppy packages -- the latter are known as PET packages and are identified by '.pet' on the end of their filename. Note that apart from the official ${DISTRO_BINARY_COMPAT} and PET repositories, Puppy enthusiasts have created many PETs at other locations, and all you need to do is download one and click on it to install it.</label></text>
+ <frame $(gettext 'Install applications')>
+  <text><label>`eval_gettext \"The Puppy Package Manager is a tool for installing and uninstalling packages (applications). There are online repositories of \\\${DISTRO_BINARY_COMPAT} and Puppy packages -- the latter are known as PET packages and are identified by '.pet' on the end of their filename. Note that apart from the official \\\${DISTRO_BINARY_COMPAT} and PET repositories, Puppy enthusiasts have created many PETs at other locations, and all you need to do is download one and click on it to install it.\"`</label></text>
 
   <hbox>
-   <text><label>Click button for Package Manager introduction webpage:</label></text>
+   <text><label>$(gettext 'Click button for Package Manager introduction webpage:')</label></text>
    <vbox>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/info16.xpm</input>
      <action>defaultbrowser http://puppylinux.com/development/package-management.htm & </action>
     </button>
    </vbox>
   </hbox>
 
   <hbox>
-   <text><label>Click button to run the Puppy Package Manager:</label></text>
+   <text><label>$(gettext 'Click button to run the Puppy Package Manager:')</label></text>
    <vbox>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/pet16.xpm</input>
      <action>/usr/local/petget/pkg_chooser.sh &</action>
      <action>EXIT:14</action>
     </button>
    </vbox>
   </hbox>
 
-  <text><label>The above web link also introduces SFS files. These are application combo-packs, very easy to install and uninstall.</label></text>
+  <text><label>$(gettext 'The above web link also introduces SFS files. These are application combo-packs, very easy to install and uninstall.')</label></text>
   <hbox>
-   <text><label>Click button to choose an SFS file from the official repo:</label></text>
+   <text><label>$(gettext 'Click button to choose an SFS file from the official repo:')</label></text>
    <vbox>
     <button>
      <input file>/usr/local/lib/X11/mini-icons/pet16.xpm</input>
      <action>/usr/sbin/sfsget &</action>
      <action>EXIT:14</action>

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

@@ -6,37 +6,52 @@
 #101116 first version.
 #101117 url sanity check. more download size check.
 #101118 for ftp connection have to get size differently.
 #101126 not sure, it seems that wget now defaults to ipv6, fails for some users, use '-4' to force ipv4.
 #101206 fix find filesize ftp://ftp.lug.udel.edu/pub/puppylinux ...
+#120201 rodin.s: internationalized. Add LANG=C to 1-st wget for proper work
+
+# adding gettext
+export TEXTDOMAINDIR=/usr/share/locale
+export TEXTDOMAIN=download_file
+eval_gettext () {
+  local myMESSAGE=$(gettext "$1")
+  eval echo \"$myMESSAGE\"
+}
+LANG="`cat /etc/profile|grep '^LANG='`"
+eval $LANG
+export LANG_USER=$LANG
+#-----------------------------#
 
 #exit number: 0 ok, 1 unable to download, 2 download fail, 3 invalid url.
 
-export LANG=C #keep Xdialog happy.
+#export LANG=C #keep Xdialog happy.
+LANG=$LANG_USER # i18n
 URLSPEC="$@"
 FILENAME="`basename "$@"`"
 . /etc/rc.d/PUPSTATE
 
 #test url... -t 2 means try 2 times, -T 20 means timeout in 20 seconds
 while [ 1 ];do
  echo -n "" > /tmp/download_file_spider.log1
  #gtklogfileviewer "/tmp/download_file_spider.log" "Close" 0 0 600 200 "Testing remote file exists:" &
- rxvt -geometry 130x10+0+0 -bg orange -fg black -title "Testing file exists: ${URLSPEC}" -e tail -f /tmp/download_file_spider.log1 &
+ rxvt -geometry 130x10+0+0 -bg orange -fg black -title "$(gettext 'Testing file exists:') ${URLSPEC}" -e tail -f /tmp/download_file_spider.log1 &
  PID1=$!
- wget -4 -t 2 -T 20 --waitretry=20 --spider -S "${URLSPEC}" > /tmp/download_file_spider.log1 2>&1
+ LANG=C wget -4 -t 2 -T 20 --waitretry=20 --spider -S "${URLSPEC}" > /tmp/download_file_spider.log1 2>&1 #
  if [ $? -ne 0 ];then
-  Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --ok-label "TEST AGAIN" --cancel-label "GIVE UP" --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "Tested if remote file exists, but failed, see log top-left of screen.
-Do you want to test again, or give up?" 0 0
+  Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --ok-label "$(gettext 'TEST AGAIN')" --cancel-label "$(gettext 'GIVE UP')" --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "$(gettext 'Tested if remote file exists, but failed, see log top-left of screen.
+Do you want to test again, or give up?')" 0 0
+ LANG=C #110602
   REPLY1=$?
   kill $PID1
   [ $REPLY1 -eq 0 ] && continue
   exit 1
  fi
  kill $PID1
  break
 done
-
+#LANG=C # i18n
 #find out size of online file...
 SIZEB_ONLINE=`grep '^Length: ' /tmp/download_file_spider.log1 | tr -s ' ' | cut -f 2 -d ' ' | sed -e 's%[^0-9]%%g'`
 #101118 for ftp connection have to get size differently...
 [ "$SIZEB_ONLINE" = "" ] && SIZEB_ONLINE=`grep "${FILENAME}" /tmp/download_file_spider.log1 | tr '\t' ' ' | tr -s ' ' | grep ' ftp ' | cut -f 5 -d ' ' | sed -e 's%[^0-9]%%g'`
 #101206 ftp://ftp.lug.udel.edu/pub/puppylinux/pet_packages-3/gpm-1.20.1-1.pet ...
@@ -43,40 +58,39 @@
 [ "$SIZEB_ONLINE" = "" ] && SIZEB_ONLINE=`grep "${FILENAME}" /tmp/download_file_spider.log1 | tr '\t' ' ' | tr -s ' ' | grep ' root ' | cut -f 5 -d ' ' | sed -e 's%[^0-9]%%g'`
 [ "$SIZEB_ONLINE" = "" ] && SIZEB_ONLINE=`grep "${FILENAME}" /tmp/download_file_spider.log1 | tr '\t' ' ' | tr -s ' ' | grep ' 2[0-9][0-9][0-9] ' | cut -f 5 -d ' ' | sed -e 's%[^0-9]%%g'`
 #101117 sanity check...
 URL_BROKEN='0'
 if [ "$SIZEB_ONLINE" = "" ];then
- MSG_NO1="Oh dear, unable to obtain size of remote file:
+ MSG_NO1="$(gettext 'Oh dear, unable to obtain size of remote file:')
 ${URLSPEC}
-although it does seem to exist."
+$(gettext 'although it does seem to exist.')"
  URL_BROKEN='1'
 else
  case $SIZEB_ONLINE in
   unspecified)
-   MSG_NO1="Oh dear, this URL seems to be wrong:
+   MSG_NO1="$(gettext 'Oh dear, this URL seems to be wrong:')
 ${URLSPEC}
-It is supposed to be of the format http://foo.org/abiword-1.pet,
+$(gettext 'It is supposed to be of the format http://foo.org/abiword-1.pet,
 or ftp://foo.org/abiword-1.pet (with name of the file to download
-on the end), but your URL seems wrong."
+on the end), but your URL seems wrong.')"
    URL_BROKEN='1'
   ;;
   *[a-zA-Z]*)
-   MSG_NO1="Oh dear, something seems to be wrong with the URL:
+   MSG_NO1="$(gettext 'Oh dear, something seems to be wrong with the URL:')
 ${URLSPEC}
-A probe of the remote file could not retrieve correct information
-on it. "
+$(gettext 'A probe of the remote file could not retrieve correct information
+on it.') "
    URL_BROKEN='1'
   ;;
  esac
 fi
 if [ "$URL_BROKEN" != "0" ];then
- Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --icon "/usr/local/lib/X11/pixmaps/error.xpm" --msgbox "${MSG_NO1}
+ Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --icon "/usr/local/lib/X11/pixmaps/error.xpm" --msgbox "${MSG_NO1}
 
-Click button to abort download..." 0 0
+$(gettext 'Click button to abort download...')" 0 0
  exit 3
 fi
-
 #101117 check enough free space...
 #FREEK=`df -k | grep ' /$' | tr -s ' ' | cut -f 4 -d ' '`
 #no, need to know free space in whatever is current dir...
 PWD="`pwd`"
 FREEblocks=`stat -f --format=%a ${PWD}`
@@ -92,71 +106,72 @@
  ;;
  *)
   SIZEK_REQUEST=`expr $SIZEK_ONLINE \* 3` #3MB slack, no, need install space too.
  ;;
 esac
+#LANG=$LANG_USER
 if [ $SIZEK_REQUEST -gt $FREEK ];then
  case $PUPMODE in
   5)
-   MSGs="You need to shutdown and create a save-file, then you will have more space.
-See menu Shutdown -> Reboot"
+   MSGs="$(gettext 'You need to shutdown and create a save-file, then you will have more space.
+See menu Shutdown -> Reboot')"
   ;;
   2|6)
-   MSGs="The partition is full, you will have to delete something."
+   MSGs="$(gettext 'The partition is full, you will have to delete something.')"
   ;;
   3|7|77) #tmpfs on top, full partition underneath
-   MSGs="Do not have enough space in the RAM. Maybe you need a swap file
-or swap partition (or it needs to be bigger)"
+   MSGs="$(gettext 'Do not have enough space in the RAM. Maybe you need a swap file
+or swap partition (or it needs to be bigger)')"
   ;;
   *)
-   MSGs="You need to increase the size of the save-file.
-See menu Utility -> Resize personal storage file"
+   MSGs="$(gettext 'You need to increase the size of the save-file.
+See menu Utility -> Resize personal storage file')"
   ;;
  esac
- Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --icon "/usr/local/lib/X11/pixmaps/error.xpm" --msgbox "
-Sorry, but there is not enough free space to download to.
-Attempted download directory: ${PWD}
-The online file is ${SIZEK_ONLINE}KB, but your free space is ${FREEK}KB.
+ Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --icon "/usr/local/lib/X11/pixmaps/error.xpm" --msgbox "
+`eval_gettext \"Sorry, but there is not enough free space to download to.
+Attempted download directory: \\\${PWD}
+The online file is \\\${SIZEK_ONLINE}KB, but your free space is \\\${FREEK}KB.
+
+\\\${MSGs}
 
-${MSGs}
-
-Click button to abort download..." 0 0
+Click button to abort download...\"`" 0 0
  exit 1
 fi
 
-INSERT1="already "
+INSERT1="$(gettext 'already ')"
 
 while [ 1 ];do
 
  CONTPARAM=''
  if [ -f $FILENAME ];then
   SIZEB_LOCAL=`stat --format=%s "${FILENAME}"`
   if [ $SIZEB_LOCAL -lt $SIZEB_ONLINE ];then
-   Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --ok-label "CONTINUE" --cancel-label "START AGAIN"  --icon "/usr/local/lib/X11/pixmaps/question.xpm" --yesno "File '${FILENAME}' is ${INSERT1}partly downloaded (although there is
+   Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --ok-label "$(gettext 'CONTINUE')" --cancel-label "$(gettext 'START AGAIN')"  --icon "/usr/local/lib/X11/pixmaps/question.xpm" --yesno "`eval_gettext \"File '\\\${FILENAME}' is \\\${INSERT1}partly downloaded (although there is
 no guarantee it is uncorrupted), do you want to continue downloading it,
-or erase it and download entire file again?" 0 0
+or erase it and download entire file again?\"`" 0 0
    if [ $? -eq 0 ];then
     CONTPARAM='-c'
    else
     rm -f "$FILENAME"
    fi
   else
    if [ $SIZEB_LOCAL -gt $SIZEB_ONLINE ];then #101117
-    Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --ok-label "DOWNLOAD AGAIN" --cancel-label "NO"  --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "File '${FILENAME}' is ${INSERT1}downloaded but is larger
+    Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --ok-label "$(gettext 'DOWNLOAD AGAIN')" --cancel-label "$(gettext 'NO')"  --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "`eval_gettext \"File '\\\${FILENAME}' is \\\${INSERT1}downloaded but is larger
 than the online file. Hmmm... this probably means that the online
 file is a more recent version, so it is recommended that you erase
 the local file and download it again...
-Do you want to erase it and download entire file again?" 0 0
+Do you want to erase it and download entire file again?\"`" 0 0
     if [ $? -eq 0 ];then
      rm -f "$FILENAME"
     else
      exit 0
     fi
    else
-    Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --ok-label "DOWNLOAD AGAIN" --cancel-label "NO"  --icon "/usr/local/lib/X11/pixmaps/question.xpm" --yesno "File '${FILENAME}' is ${INSERT1}fully downloaded (although there is
+    Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --ok-label "$(gettext 'DOWNLOAD AGAIN')" --cancel-label "$(gettext 'NO')"  --icon "/usr/local/lib/X11/pixmaps/question.xpm" --yesno "`eval_gettext \"File '\\\${FILENAME}' is \\\${INSERT1}fully downloaded (although there is
 no guarantee it is uncorrupted), do you want to erase it and download
-entire file again?" 0 0
+entire file again?\"`" 0 0
     if [ $? -eq 0 ];then
      rm -f "$FILENAME"
     else
      exit 0
     fi
@@ -163,17 +178,17 @@
    fi
   fi
  fi
 
  echo -n "" > /tmp/download_file_spider.log2
- rxvt -geometry 130x10+0+0 -bg orange -fg black -title "Downloading file: ${URLSPEC}" -e tail -f /tmp/download_file_spider.log2 &
+ rxvt -geometry 130x10+0+0 -bg orange -fg black -title "$(gettext 'Downloading file:') ${URLSPEC}" -e tail -f /tmp/download_file_spider.log2 &
  PID1=$!
  #-t 5 means retry 5 times, -w 5 means wait 5 seconds between retries...
  wget -4 ${CONTPARAM} -t 5 -w 5 "${URLSPEC}" > /tmp/download_file_spider.log2 2>&1
  if [ $? -ne 0 ];then
-  Xdialog --wmclass "gtkdialog2" --title "Puppy File Downloader" --screen-center --cr-wrap --ok-label "TRY AGAIN" --cancel-label "GIVE UP" --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "Download failed, see log top-left of screen.
-Do you want to try again, or give up?" 0 0
+  Xdialog --wmclass "gtkdialog2" --title "$(gettext 'Puppy File Downloader')" --screen-center --cr-wrap --ok-label "$(gettext 'TRY AGAIN')" --cancel-label "$(gettext 'GIVE UP')" --icon "/usr/local/lib/X11/pixmaps/error.xpm" --yesno "$(gettext 'Download failed, see log top-left of screen.
+Do you want to try again, or give up?')" 0 0
   REPLY1=$?
   kill $PID1
   [ $REPLY1 -eq 0 ] && continue
   rm -f "$FILENAME"
   exit 2

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

@@ -7,12 +7,16 @@
 #v412 workaround, someone exited with invalid settings.
 #w007 mouse inactivity computer power-down.
 #w464 /etc/puppyversion is now history.
 #v424 automatic unmounting (see pup_event_frontend_d).
 #110505 support sudo for non-root user.
+#120201 BK: internationalized.
 
 [ "`whoami`" != "root" ] && exec sudo -A ${0} ${@} #110505
+
+export TEXTDOMAIN=eventmanager
+export OUTPUT_CHARSET=UTF-8
 
 SHOWMODE=$1 #v405 optional to modify gui.
 
 . /etc/rc.d/PUPSTATE
 . /etc/DISTRO_SPECS
@@ -45,224 +49,224 @@
 NEWAUTOUNMOUNT="$AUTOUNMOUNT"
 
 if [ "$SHOWMODE" = "desktop" ];then
  #cutdown, only show choices for settng the desktop icons...
  export MAIN_DIALOG="
-<window title=\"Event Manager: Desktop drive icons\" icon-name=\"gtk-execute\">
+<window title=\"$(gettext 'Event Manager: Desktop drive icons')\" icon-name=\"gtk-execute\">
 <vbox>
 
   <text use-markup=\"true\">
-  <label>\"<b>Restart X for changes to take effect</b>\"</label></text>
-
-<notebook labels=\"Desktop Icons|Icon Handler|Legacy\">
-
- <frame Drive icons on desktop>
+  <label>\"<b>$(gettext 'Restart X for changes to take effect')</b>\"</label></text>
+
+<notebook labels=\"$(gettext 'Desktop Icons')|$(gettext 'Icon Handler')|$(gettext 'Legacy')\">
+
+ <frame $(gettext 'Drive icons on desktop')>
  <vbox>
-  <text><label>When this box is ticked, there will be an icon for each drive. If you plugin a USB pen drive for example, an icon will appear. Unplug and it will disappear. If you don't want these drive icons on the desktop, untick this box (but there will still remain just one icon that will launch Pmount when clicked on). The individual drive icons are purely a convenience and Puppy works fine without them.</label></text>
-  <checkbox>
-   <label>Tick box for drive icons on desktop</label>
+  <text><label>$(gettext "When this box is ticked, there will be an icon for each drive. If you plugin a USB pen drive for example, an icon will appear. Unplug and it will disappear. If you don't want these drive icons on the desktop, untick this box (but there will still remain just one icon that will launch Pmount when clicked on). The individual drive icons are purely a convenience and Puppy works fine without them.")</label></text>
+  <checkbox>
+   <label>$(gettext 'Tick box for drive icons on desktop')</label>
    <default>${ICONDESK}</default>
    <variable>NEWICONDESK</variable>
   </checkbox>
 
   <hbox>
   <text><label>\"  \"</label></text>
   <vbox>
-  <text><label>If the above is ticked, then you can choose to have an icon for each partition, rather than one icon for the entire drive:</label></text>
-  <checkbox>
-   <label>Tick box for an icon for each partition</label>
+  <text><label>$(gettext 'If the above is ticked, then you can choose to have an icon for each partition, rather than one icon for the entire drive:')</label></text>
+  <checkbox>
+   <label>$(gettext 'Tick box for an icon for each partition')</label>
    <default>${ICONPARTITIONS}</default>
    <variable>NEWICONPARTITIONS</variable>
   </checkbox>
   </vbox>
   </hbox>
 
   <checkbox>
-   <label>Tick box to erase then redraw and realign existing icons</label>
+   <label>$(gettext 'Tick box to erase then redraw and realign existing icons')</label>
    <default>false</default>
    <variable>NEWICONWIPE</variable>
   </checkbox>
 
  </vbox>
  </frame>
 
- <frame Drive 'handler'>
+ <frame $(gettext "Drive 'handler'")>
 
  <vbox>
-  <text><label>The 'handler' decides what to do when you click on a desktop drive icon. Normally, this just starts Pmount if you click on a drive icon, or mounts it and starts ROX-Filer if a partition icon, but this behavior can be extended by these checkboxes.</label></text>
-
-  <text><label>This checkbox extends the default behavior, and will launch a more appropriate application. Currently, it adds detection of a video DVD or audio CD and launches the media player:</label></text>
+  <text><label>$(gettext "The 'handler' decides what to do when you click on a desktop drive icon. Normally, this just starts Pmount if you click on a drive icon, or mounts it and starts ROX-Filer if a partition icon, but this behavior can be extended by these checkboxes.")</label></text>
+
+  <text><label>$(gettext 'This checkbox extends the default behavior, and will launch a more appropriate application. Currently, it adds detection of a video DVD or audio CD and launches the media player:')</label></text>
   <checkbox>
-   <label>Tick box for auto-detection of target application</label>
+   <label>$(gettext 'Tick box for auto-detection of target application')</label>
    <default>${AUTOTARGET}</default>
    <variable>NEWAUTOTARGET</variable>
   </checkbox>
  </vbox>
 
  <vbox>
-  <text><label>Normally you have to click on a drive icon to run the 'handler', but this checkbox makes the 'handler' run as soon as a media is plugged in. For example, plug in a DVD and it will immediately either get mounted, or if the above checkbox is ticked the media player will run:</label></text>
+  <text><label>$(gettext "Normally you have to click on a drive icon to run the 'handler', but this checkbox makes the 'handler' run as soon as a media is plugged in. For example, plug in a DVD and it will immediately either get mounted, or if the above checkbox is ticked the media player will run:")</label></text>
   <checkbox>
-   <label>Tick box for auto-launch 'handler' when media plugged in</label>
+   <label>$(gettext "Tick box for auto-launch 'handler' when media plugged in")</label>
    <default>${HOTPLUGNOISY}</default>
    <variable>NEWHOTPLUGNOISY</variable>
   </checkbox>
  </vbox>
 
  </frame>
 
  <frame Legacy>
-  <text><label>Linux does not support hotplug detection of when a legacy floppy diskette is inserted or removed. Periodic probing requires starting the drive motor, which is very slow -- and do you want the motor to startup every 4 seconds? Therefore, if your PC has a floppy drive, tick this box to have a permanent icon on desktop (regardless whether a diskette is actually inserted, or even a floppy drive!).</label></text>
+  <text><label>$(gettext 'Linux does not support hotplug detection of when a legacy floppy diskette is inserted or removed. Periodic probing requires starting the drive motor, which is very slow -- and do you want the motor to startup every 4 seconds? Therefore, if your PC has a floppy drive, tick this box to have a permanent icon on desktop (regardless whether a diskette is actually inserted, or even a floppy drive!).')</label></text>
   <checkbox>
-   <label>Tick box for floppy drive icon on desktop</label>
+   <label>$(gettext 'Tick box for floppy drive icon on desktop')</label>
    <default>${FD0ICON}</default>
    <variable>NEWFD0ICON</variable>
   </checkbox>
  </frame>
 
  </notebook>
 
  <hbox>
    <button>
-    <label>Show full Event Manager</label>
+    <label>$(gettext 'Show full Event Manager')</label>
     <action type=\"exit\">fullem</action>
    </button>
    <button ok></button>
    <button cancel></button>
  </hbox>
 </vbox>
 </window>
 "
-else
+else #'geanyfix.
  export MAIN_DIALOG="
-<window title=\"Puppy Event Manager\" icon-name=\"gtk-execute\">
+<window title=\"$(gettext 'Puppy Event Manager')\" icon-name=\"gtk-execute\">
 <vbox>
 
   <text use-markup=\"true\">
-  <label>\"<b>Restart X for changes to take effect</b>\"</label></text>
-
-<notebook labels=\"Activate|Save Session|Desktop Icons|Icon Handler|Legacy|Power\">
-
- <frame Activate Puppy Event Manager>
-  <text><label>The 'pup_event' Puppy Event Manager runs in the background and handles hotplugging of drives, including the desktop drive icons. This also includes automatic module and firmware loading if new hardware is detected. However, turn it all off, and Puppy will revert to the same behaviour as versions prior to 4.x, in which there is no hotplug support. This reduces resource usage, so try unticking these on very old slow PCs. Pmount can still be run manually to mount and unmount partitions.</label></text>
+  <label>\"<b>$(gettext 'Restart X for changes to take effect')</b>\"</label></text>
+
+<notebook labels=\"$(gettext 'Activate')|$(gettext 'Save Session')|$(gettext 'Desktop Icons')|$(gettext 'Icon Handler')|$(gettext 'Legacy')|$(gettext 'Power')\">
+
+ <frame $(gettext 'Activate Puppy Event Manager')>
+  <text><label>$(gettext "The 'pup_event' Puppy Event Manager runs in the background and handles hotplugging of drives, including the desktop drive icons. This also includes automatic module and firmware loading if new hardware is detected. However, turn it all off, and Puppy will revert to the same behaviour as versions prior to 4.x, in which there is no hotplug support. This reduces resource usage, so try unticking these on very old slow PCs. Pmount can still be run manually to mount and unmount partitions.")</label></text>
   <checkbox>
-   <label>Tick box for hotplug module/firmware loading</label>
+   <label>$(gettext 'Tick box for hotplug module/firmware loading')</label>
    <default>${BACKENDON}</default>
    <variable>NEWBACKENDON</variable>
   </checkbox>
 
   <hbox>
   <text><label>\"  \"</label></text>
   <vbox>
-  <text><label>If the above is ticked, then can also turn on these:</label></text>
+  <text><label>$(gettext 'If the above is ticked, then can also turn on these:')</label></text>
   <checkbox>
-   <label>Tick box for desktop hotplug support</label>
+   <label>$(gettext 'Tick box for desktop hotplug support')</label>
    <default>${HOTPLUGON}</default>
    <variable>NEWHOTPLUGON</variable>
   </checkbox>
   <checkbox>
-   <label>Tick box for auto unmounting of partitions</label>
+   <label>$(gettext 'Tick box for auto unmounting of partitions')</label>
    <default>${AUTOUNMOUNT}</default>
    <variable>NEWAUTOUNMOUNT</variable>
   </checkbox>
-  <text><label>(WARNING: auto unmounting is highly experimental)</label></text>
+  <text><label>$(gettext '(WARNING: auto unmounting is highly experimental)')</label></text>
   </vbox>
   </hbox>
 
 
  </frame>
 
- <frame Periodic save from RAM>
+ <frame $(gettext 'Periodic save from RAM')>
  <vbox>
-  <text><label>Puppy runs in a particular 'state' that we call the PUPMODE. This depends on the type of installation and the type of hardware. Currently, PUPMODE=${PUPMODE}. If it is an odd number, for example 13, then Puppy is doing everything in RAM and saving the current session to a drive periodically -- this is done in the case of Flash memory to make it last longer. When Puppy runs in an odd PUPMODE, there will be a 'save' icon on the desktop, also a save occurs at shutdown. You can also specify a periodic save here:</label></text>
+  <text><label>$(gettext "Puppy runs in a particular 'state' that we call the PUPMODE. This depends on the type of installation and the type of hardware. Currently, PUPMODE=")${PUPMODE}. $(gettext "If it is an odd number, for example 13, then Puppy is doing everything in RAM and saving the current session to a drive periodically -- this is done in the case of Flash memory to make it last longer. When Puppy runs in an odd PUPMODE, there will be a 'save' icon on the desktop, also a save occurs at shutdown. You can also specify a periodic save here:")</label></text>
   <hbox>
-   <text><label>Save interval (0=never):</label></text>
+   <text><label>$(gettext 'Save interval (0=never):')</label></text>
    <entry max_length=\"4\">
     <default>${RAMSAVEINTERVAL}</default>
     <variable>NEWRAMSAVEINTERVAL</variable>
    </entry>
-   <text><label>minutes</label></text>
+   <text><label>$(gettext 'minutes')</label></text>
    <text><label>\"       \"</label></text>
   </hbox>
-  <text><label>NOTE1: PUPMODE=77 (multisession DVD) excluded, only manual save with desktop icon and at shutdown.</label></text>
-  <text><label>NOTE2: PUPMODE=5 there are no saves, above value ignored.</label></text>
+  <text><label>$(gettext 'NOTE1: PUPMODE=77 (multisession DVD) excluded, only manual save with desktop icon and at shutdown.')</label></text>
+  <text><label>$(gettext 'NOTE2: PUPMODE=5 there are no saves, above value ignored.')</label></text>
  </vbox>
  </frame>
 
- <frame Drive icons on desktop>
+ <frame $(gettext 'Drive icons on desktop')>
  <vbox>
-  <text><label>When this box is ticked, there will be an icon for each drive. If you plugin a USB pen drive for example, an icon will appear. Unplug and it will disappear. If you don't want these drive icons on the desktop, untick this box (but there will still remain just one icon that will launch Pmount when clicked on). The individual drive icons are purely a convenience and Puppy works fine without them.</label></text>
+  <text><label>$(gettext "When this box is ticked, there will be an icon for each drive. If you plugin a USB pen drive for example, an icon will appear. Unplug and it will disappear. If you don't want these drive icons on the desktop, untick this box (but there will still remain just one icon that will launch Pmount when clicked on). The individual drive icons are purely a convenience and Puppy works fine without them.")</label></text>
   <checkbox>
-   <label>Tick box for drive icons on desktop</label>
+   <label>$(gettext 'Tick box for drive icons on desktop')</label>
    <default>${ICONDESK}</default>
    <variable>NEWICONDESK</variable>
   </checkbox>
 
   <hbox>
   <text><label>\"  \"</label></text>
   <vbox>
-  <text><label>If the above is ticked, then you can choose to have an icon for each partition, rather than one icon for the entire drive:</label></text>
+  <text><label>$(gettext 'If the above is ticked, then you can choose to have an icon for each partition, rather than one icon for the entire drive:')</label></text>
   <checkbox>
-   <label>Tick box for an icon for each partition</label>
+   <label>$(gettext 'Tick box for an icon for each partition')</label>
    <default>${ICONPARTITIONS}</default>
    <variable>NEWICONPARTITIONS</variable>
   </checkbox>
   </vbox>
   </hbox>
 
   <checkbox>
-   <label>Tick box to erase then redraw and realign existing icons</label>
+   <label>$(gettext 'Tick box to erase then redraw and realign existing icons')</label>
    <default>false</default>
    <variable>NEWICONWIPE</variable>
   </checkbox>
 
  </vbox>
  </frame>
 
 
- <frame Drive 'handler'>
+ <frame $(gettext "Drive 'handler'")>
 
  <vbox>
-  <text><label>The 'handler' decides what to do when you click on a desktop drive icon. Normally, this just starts Pmount if you click on a drive icon, or mounts it and starts ROX-Filer if a partition icon, but this behavior can be extended by these checkboxes.</label></text>
-
-  <text><label>This checkbox extends the default behavior, and will launch a more appropriate application. Currently, it adds detection of a video DVD or audio CD and launches the media player:</label></text>
+  <text><label>$(gettext "The 'handler' decides what to do when you click on a desktop drive icon. Normally, this just starts Pmount if you click on a drive icon, or mounts it and starts ROX-Filer if a partition icon, but this behavior can be extended by these checkboxes.")</label></text>
+
+  <text><label>$(gettext 'This checkbox extends the default behavior, and will launch a more appropriate application. Currently, it adds detection of a video DVD or audio CD and launches the media player:')</label></text>
   <checkbox>
-   <label>Tick box for auto-detection of target application</label>
+   <label>$(gettext 'Tick box for auto-detection of target application')</label>
    <default>${AUTOTARGET}</default>
    <variable>NEWAUTOTARGET</variable>
   </checkbox>
  </vbox>
 
  <vbox>
-  <text><label>Normally you have to click on a drive icon to run the 'handler', but this checkbox makes the 'handler' run as soon as a media is plugged in. For example, plug in a DVD and it will immediately either get mounted, or if the above checkbox is ticked the media player will run:</label></text>
+  <text><label>$(gettext "Normally you have to click on a drive icon to run the 'handler', but this checkbox makes the 'handler' run as soon as a media is plugged in. For example, plug in a DVD and it will immediately either get mounted, or if the above checkbox is ticked the media player will run:")</label></text>
   <checkbox>
-   <label>Tick box for auto-launch 'handler' when media plugged in</label>
+   <label>$(gettext "Tick box for auto-launch 'handler' when media plugged in")</label>
    <default>${HOTPLUGNOISY}</default>
    <variable>NEWHOTPLUGNOISY</variable>
   </checkbox>
  </vbox>
 
  </frame>
 
- <frame Legacy>
-  <text><label>Linux does not support hotplug detection of when a legacy floppy diskette is inserted or removed. Periodic probing requires starting the drive motor, which is very slow -- and do you want the motor to startup every 4 seconds? Therefore, if your PC has a floppy drive, tick this box to have a permanent icon on desktop (regardless whether a diskette is actually inserted, or even a floppy drive!).</label></text>
+ <frame $(gettext 'Legacy')>
+  <text><label>$(gettext 'Linux does not support hotplug detection of when a legacy floppy diskette is inserted or removed. Periodic probing requires starting the drive motor, which is very slow -- and do you want the motor to startup every 4 seconds? Therefore, if your PC has a floppy drive, tick this box to have a permanent icon on desktop (regardless whether a diskette is actually inserted, or even a floppy drive!).')</label></text>
   <checkbox>
-   <label>Tick box for floppy drive icon on desktop</label>
+   <label>$(gettext 'Tick box for floppy drive icon on desktop')</label>
    <default>${FD0ICON}</default>
    <variable>NEWFD0ICON</variable>
   </checkbox>
  </frame>
 
- <frame Power>
+ <frame $(gettext 'Power')>
  <vbox>
-  <text><label>Puppy is able to power-off your computer after a period of mouse inactivity. This will occur if the mouse cursor has not been moved for the designated interval:</label></text>
+  <text><label>$(gettext 'Puppy is able to power-off your computer after a period of mouse inactivity. This will occur if the mouse cursor has not been moved for the designated interval:')</label></text>
   <hbox>
-   <text><label>Inactivity interval (0=never):</label></text>
+   <text><label>$(gettext 'Inactivity interval (0=never):')</label></text>
    <entry max_length=\"4\">
     <default>${POWERTIMEOUT}</default>
     <variable>NEWPOWERTIMEOUT</variable>
    </entry>
-   <text><label>minutes</label></text>
+   <text><label>$(gettext 'minutes')</label></text>
    <text><label>\"       \"</label></text>
   </hbox>
  </vbox>
  </frame>