Check-in [130b4c0ec0]
Not logged in

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

Overview

SHA1 Hash:130b4c0ec063fcb48933feb3d32e018a39d04f8b
Date: 2012-02-17 06:53:12
User: BarryK
Comment:support translation of early-boot splash screens, managed by MoManager

Tags And Properties
Changes

Changes to woof-code/3builddistro

@@ -95,11 +95,12 @@
 #111123 support cross-build.
 #111127 no need to copy 'printcols', 'vercmp' to target build, now done in 'merge2out' script.
 #111203 remove offer to download and compile bacon (no good for cross-builds).
 #111204 remove zdump from list.
 #120215 language translations for init script.
-#120216 set default LANG and KMAP.
+#120216 set default LANG and KMAP. 120217 recommend UTF-8.
+#120217 translate early-boot splash screens... (expect building with langpack)
 
 #v431 accepts passed params, from woof_gui_tabs:
 #$1=$CHOICE_KERNELPKG $2=$CHOICE_SCSI $3=$CHOICE_BIGMODEM $4=$CHK_FB_STATE $5=$CHK_EXOTIC_STATE $6=$CHK_RADICAL_STATE
 #100912 add $7=CHK_SIMPLE_FILENAMES
 
@@ -950,10 +951,11 @@
   ENDBIT="`echo -n "$ATRANS" | rev | cut -f 1 -d '.' | rev`" #ex: de (from initrd_strings.de)
   mkdir -p initrd-tree/locale/${ENDBIT}
   #only supporting translating the init script for now...
   sPTN="/^\[init\]/,/^$/p" #this is a multi-line block find expression.
   CODEBLOCK="`sed -n "$sPTN" ${ATRANS} | sed -e '/^#/d' -e '/%%/d' -e '/^$/d' -e '/^\[/d'`" #extracts just the relevant block of lines.
+  [ ! "$CODEBLOCK" ] && continue #precaution.
   echo "$CODEBLOCK" > initrd-tree/locale/${ENDBIT}/init #translation file, read by /init script in initrd.
  done
 fi
 
 #120216 set default LANG and KMAP...
@@ -967,11 +969,12 @@
 create one -- see MoManager in the Utility menu, also read the Menu -> Help
 -> HOWTO Internationalization."
 echo
 echo "These are the available LANG values (in /usr/share/i18n/locales):
 aa_DJ aa_ER aa_ER@saaho aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES az_AZ be_BY be_BY@latin ber_DZ ber_MA bg_BG bn_BD bn_IN br_FR br_FR@euro bs_BA byn_ER ca_AD ca_ES ca_ES@euro ca_FR ca_IT crh_UA csb_PL cs_CZ cy_GB da_DK de_AT de_AT@euro de_BE de_BE@euro de_CH de_DE de_DE@euro de_LU de_LU@euro dz_BT el_CY el_GR el_GR@euro en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IE@euro en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZW es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_ES@euro es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES eu_ES@euro fa_IR fi_FI fi_FI@euro fil_PH fo_FO fr_BE fr_BE@euro fr_CA fr_CH fr_FR fr_FR@euro fr_LU fr_LU@euro fur_IT fy_DE fy_NL ga_IE ga_IE@euro gd_GB gez_ER gez_ER@abegede gez_ET gez_ET@abegede gl_ES gl_ES@euro gu_IN gv_GB ha_NG he_IL hi_IN hr_HR hsb_DE hu_HU hy_AM id_ID ig_NG ik_CA is_IS it_CH it_IT it_IT@euro iu_CA iw_IL ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN ko_KR ks_IN ku_TR kw_GB ky_KG lg_UG li_BE li_NL lo_LA lt_LT lv_LV mai_IN mg_MG mi_NZ mk_MK ml_IN mn_MN mr_IN ms_MY mt_MT nb_NO nds_DE nds_NL ne_NP nl_BE nl_BE@euro nl_NL nl_NL@euro nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN pa_IN pap_AN pa_PK pl_PL pt_BR pt_PT pt_PT@euro ro_RO ru_RU ru_UA rw_RW sa_IN sc_IT se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sr_ME sr_RS sr_RS@latin ss_ZA st_ZA sv_FI sv_FI@euro sv_SE ta_IN te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU tt_RU@iqtelif ug_CN uk_UA ur_PK uz_UZ uz_UZ@cyrillic ve_ZA vi_VN wa_BE wa_BE@euro wal_ET wo_SN xh_ZA yi_US yo_NG zh_CN zh_HK zh_SG zh_TW zu_ZA"
-echo -n "ENTER only for default, else type one of these: "
+echo "ENTER only for default, else type one of the above. Usually, you would want UTF-8 enabled, so append that. ex: de_DE.UTF-8."
+echo -n "ENTER only, or type it now (check carefully before ENTER): "
 read DEFAULTLANG
 [ "$DEFAULTLANG" != "" ] && [ "$DEFAULTLANG" != "en_US" ] && echo -n "$DEFAULTLANG" > initrd-tree/PUPPYLANG
 [ "$DEFAULTLANG" = "" ] && DEFAULTLANG="en_US"
 echo "...ok, set to ${DEFAULTLANG}"
 echo
@@ -2358,10 +2361,35 @@
 cp -f ../boot/boot-dialog/boot.msg build/boot.msg
 cat ../boot/boot-dialog/isolinux.cfg | sed -e "$blPATTERN" > build/isolinux.cfg
 export RGBDEF=/usr/share/X11/rgb.txt
 ../boot/boot-dialog/textongif.sh ../boot/boot-dialog/${BOOTLOGO}.gif "${VERPREFIX}${RIGHTVER}" > logo.gif
 ../boot/boot-dialog/gif2lss logo.gif > build/logo.16
+
+#120217 translate early-boot splash screens... (expect building with langpack)
+if [ "$DEFAULTLANG" != "en_US" ];then
+ DEFAULTLANG1="`${DEFAULTLANG%_*}`" #ex: de
+ DEFAULTLANG12="`${DEFAULTLANG%.*}`" #ex: de_DE
+ SPLASHFILE=""
+ [ -f ../rootfs-skeleton/usr/share/sss/initrd_strings.${DEFAULTLANG12} ] && SPLASHFILE="../rootfs-skeleton/usr/share/sss/initrd_strings.${DEFAULTLANG12}"
+ [ ! "$SPLASHFILE" ] && [ -f ../rootfs-skeleton/usr/share/sss/initrd_strings.${DEFAULTLANG1} ] && SPLASHFILE="../rootfs-skeleton/usr/share/sss/initrd_strings.${DEFAULTLANG1}"
+ if [ "$SPLASHFILE" ];then
+  #translate boot.msg...
+  sPTN="/^\[boot.msg\]/,/^$/p" #this is a multi-line block find expression.
+  CODEBLOCK="`sed -n "$sPTN" ${SPLASHFILE} | sed -e '/^#/d' -e '/%%/d' -e '/^$/d' -e '/^\[/d'`" #extracts just the relevant block of lines.
+  if [ "$CODEBLOCK" ];then
+   echo "$CODEBLOCK" > /tmp/3builddistro-boot-splash-translation
+   sed -i -f /tmp/3builddistro-boot-splash-translation build/boot.msg
+  fi
+  #translate help.msg...
+  sPTN="/^\[help.msg\]/,/^$/p" #this is a multi-line block find expression.
+  CODEBLOCK="`sed -n "$sPTN" ${SPLASHFILE} | sed -e '/^#/d' -e '/%%/d' -e '/^$/d' -e '/^\[/d'`" #extracts just the relevant block of lines.
+  if [ "$CODEBLOCK" ];then
+   echo "$CODEBLOCK" > /tmp/3builddistro-boot-splash-translation
+   sed -i -f /tmp/3builddistro-boot-splash-translation build/help.msg
+  fi
+ fi
+fi
 
 #110426 help file for Windows users
 CUT2INSERT="`echo -n "$DISTRO_FILE_PREFIX" | cut -c 1,2`"
 CUT3INSERT="`echo -n "$DISTRO_FILE_PREFIX" | cut -c 1,2,3`"
 cut2PATTERN='s%CUT2INSERT%${CUT2INSERT}%'

Changes to woof-code/boot/boot-dialog/help.msg

@@ -10,14 +10,15 @@
 0cpfix=copy07    copy .sfs files to RAM (slower boot, faster running),
 0cpfix=nocopy07  do not copy .sfs files to RAM (faster boot, slower running),
 0cpfix=fsck07    do filesystem check on DISTRO_FILE_PREFIXsave (and host partition),
 0cpfix=clean07   file cleanup (simulate version upgrade),
 0cpfix=purge07   more radical file cleanup (to fix broken system).
+0cplang=<xxxx>07 Locale -- not normally required as asked after bootup.
 0cpkeys=<xx>07   Keyboard layout, choices: azerty be-latin1 br-abnt2 br-abnt
     br-latin1-abnt2 br-latin1-us by cf croat cz de de-latin1 dk dvorak dvorak-l
     dvorak-r es et fi fr gr hu101 hu il it jp106 lt mk nl no pl pt-latin1 ro ru
                        se sg sk-qwerty sk-qwertz slovene sv-latin1 uk us wangbe
 Examples:
 0cBOOTLABEL acpi=off pfix=fr07    Ignore ACPI, French keyboard layout.
 0cBOOTLABEL pfix=nox,ram07       Run in RAM, do not start X.
 
 

Changes to woof-code/boot/initrd-tree0/init

@@ -127,10 +127,11 @@
 #111003 ldolse: pemasu 2.6.39 kernel showing usb at also ata, causing double writes to /tmp/PUPSAVES.
 #111120 workarounds for missing support utilities: fusermount (no longer needed), e2fsck, resize2fs
 #120130 bring back Underdog Linux. Refer "take 2": http://puppylinux.com/development/howpuppyworks.html
 #120215 internationalized (with help from L18L). /PUPPYLANG inserted by quicksetup (in future, Woof too).
 #120216 /PUPPYKEYMAP inserted by quicksetup. if PLANG but no PKEYS, try assign matching PKEYS. L18L: new fonts.
+#120217 L18L: export LANGUAGE and OUTPUT_CHARSET.
 
 #Unionfs layers setup by this script...
 #unionfs layers:            RW (top)      RO1             RO2              PUPMODE
 #full install, flash drive: tmpfs         PDEV1                            3
 #First boot (or pfix=ram):  tmpfs                         pup_xxx.sfs      5
@@ -1470,16 +1471,16 @@
 echo "ZDRV='$ZDRV'" >> /pup_rw/etc/rc.d/PUPSTATE #v2.22
 echo '#complete set of modules in the initrd (moved to main f.s.)...' >> /pup_rw/etc/rc.d/PUPSTATE
 echo "ZDRVINIT='$ZDRVINIT'" >> /pup_rw/etc/rc.d/PUPSTATE #v4.02
 echo '#Partition no. override on boot drive to which session is (or will be) saved...' >> /pup_rw/etc/rc.d/PUPSTATE
 echo "PSAVEMARK='$PSAVEMARK'" >> /pup_rw/etc/rc.d/PUPSTATE
-#if [ "$PLANG" ];then #120215
-# echo "LANGUAGE=$PLANG
-#export LANGUAGE
-#OUTPUT_CHARSET=UTF-8
-#export OUTPUT_CHARSET" >> /pup_rw/etc/rc.d/PUPSTATE
-#fi
+if [ "$PLANG" ];then #120215 L18L. 120217 bring this back, seems like a good thing!
+ echo "LANGUAGE=$PLANG
+export LANGUAGE
+OUTPUT_CHARSET=UTF-8
+export OUTPUT_CHARSET" >> /pup_rw/etc/rc.d/PUPSTATE
+fi
 echo "PSUBDIR='${zPSUBDIR}'" >> /pup_rw/etc/rc.d/PUPSTATE #120215
 
 #older ${DISTRO_FILE_PREFIX}save.2fs <v2.16 will not have this file...
 [ ! -f $OLDFILESMNTPT/etc/rc.d/BOOTCONFIG ] && touch $OLDFILESMNTPT/etc/rc.d/BOOTCONFIG
 #note, OLDFILESMNTPT can also be "" so BOOTCONFIG needs to exist in initrd also.

Changes to woof-code/rootfs-skeleton/etc/rc.d/rc.sysinit

@@ -65,13 +65,16 @@
 #110814 01micko: ensure unique hostname.
 #110814 kernel with inbuilt usb drivers, usbfs was not mounting on /proc/bus/usb.
 #110823 mavrothal: Check if it is an OLPC XO and add the devices.
 #120124 tracing problem of b43 firmware not loading, peebee posted udev trace, determined ssb uevent replay missing, found test for <2.6.24 kernel broken for 3.x.
 #120216 slight mods to make sss translation easy (see /usr/share/sss/script_strings).
+#120217 improvement for full hd install, non-english.
 
 #unset TZ #100319 busybox hwclock gives priority to this (rather than /etc/localtime) and 'init' has set it wrong.
 #...comment-out for now. note, TZ now set in rc.country.
+ORIGLANG="`grep '^LANG=' /etc/profile | cut -f 2 -d '=' | cut -f 1 -d ' '`" #120217
+ORIGLANG1="${ORIGLANG%_*}" #ex: en
 export LANG=C
 
 . /etc/rc.d/functions4puppy4
 . /etc/DISTRO_SPECS
 
@@ -133,10 +136,14 @@
 busybox mount -t proc none /proc ;STATUS=$((STATUS+$?))
 
 if [ ! -d /initrd ];then #w468
  busybox mount -o remount,rw /
  echo 'PUPMODE=2' > /etc/rc.d/PUPSTATE
+ if [ "$ORIGLANG1" != "en" ];then #120217
+  echo "OUTPUT_CHARSET=UTF-8
+export OUTPUT_CHARSET" >> /etc/rc.d/PUPSTATE
+ fi
 fi
 . /etc/rc.d/PUPSTATE #variables created at bootup by init script in initrd.
 
 #v409 mount/umount scripts no longer write to /etc/mtab, as gparted failed to create a
 #ext3 partition -- dunno why. Instead, now have /etc/mtab a symlink to /proc/mounts...

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

@@ -17,10 +17,11 @@
 #120212 some tweaks.
 #120213 rodin.s: xgettext does not work properly on alsaconf script, use ready-made alsaconf.pot (in Woof).
 #120213 added management of binary executables.
 #120214 generate a langpack PET package.
 #120215 added management of initrd files (initrd_strings SSS domain).
+#120217 small message fixes.
 
 #***MOMANAGER IS ENGLISH ONLY (NOT GETTEXT'ED)***
 #it is for use by developers/translators with knowledge of english.
 
 PARAM1=""
@@ -391,11 +392,11 @@
 
 <b>script_strings</b>
 These are translations for scripts. The SSS method works on original scripts (in any language, ex: Bash, Lua, Perl, Tcl), whereas the gettext and t12s methods require editing of the script (however, gettext is a much more powerful translation technique).
 
 <b>initrd_strings</b>
-These are translations for files in the initrd (also known as the initramfs). This is a bit different from the other SSS domains, as the target files are tranlated at bootup, every bootup."
+These are translations for files in the initrd (also known as the initramfs). This is a bit different from the other SSS domains, as the target files are translated at bootup, every bootup."
 YESSSS_HELP_MSG="<b>SSS</b> means Simple String Substitution, a simple method of language translation for any type of text files. Files are translated in-place, that is, the original English files are replaced by the translated files -- this is translation <i>before</i> execution, as opposed to gettext which is run-time translation. An <b>SSS domain</b> defines a class of files that need to be translated. The drop-down list contains domains that have <b>${ORIGLANG1}</b> translations, however do check them as the translations may be incomplete. The headings below are the various domains:
 ${SSS_DOMAINS_MSG}"
 export DLG_HELP_YESSSS="<window resizable=\"false\" title=\"MoManager: Help edit SSS domains\" icon-name=\"${HELPICON}\" window_position=\"1\"><vbox><text use-markup=\"true\"><label>\"${YESSSS_HELP_MSG}\"</label><variable>VAR_HELP_YESSSS</variable></text><hbox><button><label>Close</label><action type=\"closewindow\">VAR_HELP_YESSSS</action></button></hbox></vbox></window>"
 YESSSSHELP_XML='<button><input file>/usr/local/lib/X11/mini-icons/mini-question.xpm</input><action type="launch">DLG_HELP_YESSSS</action></button>'
 NOSSS_HELP_MSG="<b>SSS</b> means Simple String Substitution, a simple method of language translation for any type of text files. Files are translated in-place, that is, the original English files are replaced by the translated files -- this is translation <i>before</i> execution, as opposed to gettext which is run-time translation. An <b>SSS domain</b> defines a class of files that need to be translated. The drop-down list contains domains that do <i>not</i> have <b>${ORIGLANG1}</b> translations (so any on-screen text will be in English). The headings below are the various domains:
@@ -929,11 +930,11 @@
   cp -f /usr/share/sss/$SSSFILE/$SSSFILE /tmp/momanager/$SSSFILE.$ORIGLANG1
   sync
   killall geany 2>/dev/null
   echo '#!/bin/sh
   sleep 3
-  yaf-splash -bg yellow -placement top -timeout 9 -text "The SSS file is now open in a text editor. You must only edit the TRANSLATION variables. Edit, then Save, then Quit text editor..."
+  yaf-splash -bg yellow -placement top -timeout 9 -text "The SSS file is now open in a text editor. You must only edit between the last two % characters. Edit, then Save, then Quit text editor..."
   ' > /tmp/momanager/yafmsg5
   chmod 755 /tmp/momanager/yafmsg5
   /tmp/momanager/yafmsg5 & #msg has delay so will appear on top of text editor window.
   ASTAT="`stat --format=%y "/usr/share/sss/$SSSFILE/$SSSFILE" | cut -f 1 -d ' ' | tr -d '-'`" #so can check against file version in latest Woof.
   [ -f ${PATHPREFIX}/usr/share/sss/$SSSFILE/$SSSFILE ] && ASTAT="`stat --format=%y "${PATHPREFIX}/usr/share/sss/$SSSFILE/$SSSFILE" | cut -f 1 -d ' ' | tr -d '-' `" #get orig modify date.
@@ -1051,11 +1052,11 @@
 
   sync
   killall geany 2>/dev/null
   echo '#!/bin/sh
   sleep 3
-  yaf-splash -bg yellow -placement top -timeout 9 -text "The SSS file is now open in a text editor. You must only edit the TRANSLATION variables. Edit, then Save, then Quit text editor..."
+  yaf-splash -bg yellow -placement top -timeout 9 -text "The SSS file is now open in a text editor. You must only edit between the last two % characters. Edit, then Save, then Quit text editor..."
   ' > /tmp/momanager/yafmsg5
   chmod 755 /tmp/momanager/yafmsg5
   /tmp/momanager/yafmsg5 & #msg has delay so will appear on top of text editor window.
   ASTAT="`stat --format=%y "/usr/share/sss/$SSSFILE/$SSSFILE.$ORIGLANG1" | cut -f 1 -d ' ' | tr -d '-'`" #so can check against file version in latest Woof.
   [ -f ${PATHPREFIX}/usr/share/sss/$SSSFILE/$SSSFILE.$ORIGLANG1 ] && ASTAT="`stat --format=%y "${PATHPREFIX}/usr/share/sss/$SSSFILE/$SSSFILE.$ORIGLANG1" | cut -f 1 -d ' ' | tr -d '-' `" #get orig modify date.

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

@@ -122,11 +122,11 @@
 
 <b>Note 1:</b> Many Puppy Linux users do not use UTF-8 as there is a slight speed penalty running applications -- all English users are ok running without UTF-8.
 
 <b>Note 2:</b> Non-unicode rendering is achieved by 8-bit character sets, such as ISO-8859-1 for normal Latin1 English, or ISO-8859-2 for Eastern European Latin2 languages.
 
-Basically, if your language is not a <b>Latin</b> derivative, such as all Asian languages, then you will need UTF-8.'`"
+Basically, if your language is not a <b>Latin</b> derivative, such as all Asian languages, then you will need UTF-8. Most non-English Linux users enable UTF-8, even for Latin-derivative languages, so recommend tick the box!'`"
   export DLG_HELP_UTF8="<window resizable=\"false\" title=\"${H_u1}\" icon-name=\"${HELPICON}\" window_position=\"1\"><vbox><text use-markup=\"true\"><label>\"${H_u2}\"</label><variable>VAR_HELP_UTF8</variable></text><hbox><button><label>${M_close}</label><action type=\"closewindow\">VAR_HELP_UTF8</action></button></hbox></vbox></window>"
 
   CURRLANG="`grep '^LANG=' /etc/profile | tr -d "'" | tr -d '"' | cut -f 2 -d '='`" #111022
   [ ! "$CURRLANG" ] && CURRLANG="en_US" #precaution
   UTF8=''

Changes to woof-code/rootfs-skeleton/usr/share/sss/initrd_strings/initrd_strings

@@ -1,17 +1,19 @@
 [general]
-#These are translations for files in the initrd. It is a translation at every bootup.
-#3buildistro script in Woof separates out the sections into separate files in the initrd.
+#3buildistro script in Woof separates out the sections into separate early-boot translations.
 #for example the [init] section becomes file /locales/de/init in the initrd, and
 #the target file (that gets translated at bootup) is /init (the init script translates
 #itself at startup, and knows where the translation files are located).
 #Please type translation only between the last two % characters.
 #Keep all formatting exactly the same, that is retain all " ' < > / \ characters.
 # -- do not replace the " and ' with left-side or right-side quote characters.
 #Keep all variables as-is, exs: ${DROPOUT} $DROPOUT -- do not translate!
 
 [init]
+#These are translations for 'init' in the initrd. It is a translation at every bootup.
+#3builddistro (in Woof) creates /locales/de/init in the initrd, and 'init' at bootup
+#reads it and translates itself (if LANG is de*).
 s%SORRY, cannot check filesystem%%
 s%'save file' filesystem check, please wait...%%
 s%'${1}' filesystem check, please wait...%%
 s%ERROR: Windows NTFS hibernated partition, cannot mount%%
 s%"done"%%
@@ -48,10 +50,11 @@
 s%"ENTER key only to copy: "%%
 s%'${basepupsfs}' now copying to hard drive (but only available next boot)...%%
 s%Folder $ONEFOLDER marked bad.%%
 s%Loading folder $ONEFOLDER from CD/DVD...%%
 s%"RAM full"%%
+s%'copying to ram'%%
 s%Loading the '${basepupsfs}' main file...%%
 s%Setting up the layered filesystem...%%
 s%Version update, restoring 'official' files, please wait...%%
 s%(with a slow CPU this may take sometime, please be patient)%%
 s%This is a simulated version upgrade, which performs a file cleanup.%%
@@ -60,6 +63,35 @@
 s%Overwritten old files have been moved to /tmp/versioncleanup/%%
 s%After bootup please examine this directory (before shutdown) for anything that you might like to recover. Pausing 30 secs so you can read this msg...%%
 s%Overlaying preconfig files...%%
 s%Performing a 'switch_root' to the layered filesystem...%%
 s%Dropped to initramfs shell. Type 'exec switch' to continue booting Puppy.%%
+
+[boot.msg]
+#3builddistro (in Woof) reads this section and translates the first bootup splash screen,
+#if a non-English build of Puppy. This will be file 'boot.msg' in the live-CD.
+s%Just wait 5 seconds for normal startup!%%
+s%For basic help press the <F2> key, for advanced help press <F3> key.%%
+
+[help.msg]
+#3builddistro (in Woof) reads this section and translates the first bootup help screen,
+#if a non-English build of Puppy. This will be file 'help.msg' in the live-CD.
+#Note: be careful that all translations no more than 67 chars to fit nicely in splash screen.
+s%Press <F3> key to go to advanced help%%
+s%If you need particular boot options, type%%
+s%then a space,%%
+s%then each boot option.%%
+s%Some boot options:%%
+s%Default on for PCs >2001, may give boot/shutdown probs.%%
+s%Run totally in RAM ignore saved sessions,%%
+s%number of saved sessions to ignore (multisession-CD),%%
+s%commandline only, do not start X,%%
+s%copy .sfs files to RAM (slower boot, faster running),%%
+s%do not copy .sfs files to RAM (faster boot, slower running),%%
+s%do filesystem check on%%
+s%(and host partition)%%
+s%file cleanup (simulate version upgrade),%%
+s%Locale -- not normally required as asked after bootup.%%
+s%Keyboard layout, choices:%%
+s%Ignore ACPI, French keyboard layout.%%
+s%Run in RAM, do not start X.%%
 

Changes to woof-code/rootfs-skeleton/usr/share/sss/initrd_strings/initrd_strings.de

@@ -1,19 +1,19 @@
 [general]
-#These are translations for files in the initrd. It is a one-way once-only translation
-#at bootup, so the expressions below are simple sed expressions, a different format
-#from the other SSS domains.
-#3buildistro script in Woof separates out the sections into separate files in the initrd.
+#3buildistro script in Woof separates out the sections into separate early-boot translations.
 #for example the [init] section becomes file /locales/de/init in the initrd, and
 #the target file (that gets translated at bootup) is /init (the init script translates
 #itself at startup, and knows where the translation files are located).
 #Please type translation only between the last two % characters.
 #Keep all formatting exactly the same, that is retain all " ' < > / \ characters.
 # -- do not replace the " and ' with left-side or right-side quote characters.
 #Keep all variables as-is, exs: ${DROPOUT} $DROPOUT -- do not translate!
 
 [init]
+#These are translations for 'init' in the initrd. It is a translation at every bootup.
+#3builddistro creates /locales/de/init in the initrd, and 'init' at bootup reads it and
+#translates itself (if LANG is de*).
 s%SORRY, cannot check filesystem%SORRY, kann Dateisystem nicht checken%
 s%'save file' filesystem check, please wait...%'save file' Dateisystem-Check, bitte warten...%
 s%'${1}' filesystem check, please wait...%'${1}' Dateisystem-Check, bitte warten...%
 s%ERROR: Windows NTFS hibernated partition, cannot mount%FEHLER: Windows NTFS winterschlafende Partition, kann nicht mounten%
 s%"done"%"fertig"%
@@ -50,10 +50,11 @@
 s%"ENTER key only to copy: "%"nur Enter-Taste zum kopieren: "%
 s%'${basepupsfs}' now copying to hard drive (but only available next boot)...%kopiere '${basepupsfs}' jetzt auf Festplatte (aber erst beim nächsten Neustart verfügbar)...%
 s%Folder $ONEFOLDER marked bad.%Ordner $ONEFOLDER als schlecht markiert.%
 s%Loading folder $ONEFOLDER from CD/DVD...%Lade Ordner $ONEFOLDER von CD/DVD...%
 s%"RAM full"%"RAM voll"%
+s%'copying to ram'%'kopiere ins RAM'%
 s%Loading the '${basepupsfs}' main file...%Lade die Hauptdatei '${basepupsfs}'...%
 s%Setting up the layered filesystem...%Einrichtung des überlagernden Dateisystems...%
 s%Version update, restoring 'official' files, please wait...%Version update, restoring 'offizielle' Dateien, bitte warten...%
 s%(with a slow CPU this may take sometime, please be patient)%(mit einer langsamen CPU kann dies eine Weile dauern, bitte Geduld)%
 s%This is a simulated version upgrade, which performs a file cleanup.%Dies ist ein simuliertes Version-Upgrade, das eine Dateisäuberung durchführt.%
@@ -62,6 +63,35 @@
 s%Overwritten old files have been moved to /tmp/versioncleanup/%Überschriebene alte Dateien wurden verschoben nach /tmp/versioncleanup/%
 s%After bootup please examine this directory (before shutdown) for anything that you might like to recover. Pausing 30 secs so you can read this msg...%Nach dem Start (vor dem Herunterfahren) bitte diesen Ordner examinieren nach allem, was vielleicht wiederverwendet werden soll. Pausiere 30 Sekunden zum Lesen dieser Meldung...%
 s%Overlaying preconfig files...%Überlagere vorkonfigurierte Dateien...%
 s%Performing a 'switch_root' to the layered filesystem...%Mache ein 'switch_root' auf das überlagerte Dateisystem...%
 s%Dropped to initramfs shell. Type 'exec switch' to continue booting Puppy.%Zurückgefallen auf initramfs shell. Eingabe von 'exec switch' läßt Puppy weiterbooten.%
+
+[boot.msg]
+#3builddistro (in Woof) reads this section and translates the first bootup splash screen,
+#if a non-English build of Puppy. This will be file 'boot.msg' in the live-CD.
+s%Just wait 5 seconds for normal startup!%%
+s%For basic help press the <F2> key, for advanced help press <F3> key.%%
+
+[help.msg]
+#3builddistro (in Woof) reads this section and translates the first bootup help screen,
+#if a non-English build of Puppy. This will be file 'help.msg' in the live-CD.
+#Note: be careful that all translations no more than 67 chars to fit nicely in splash screen.
+s%Press <F3> key to go to advanced help%%
+s%If you need particular boot options, type%%
+s%then a space,%%
+s%then each boot option.%%
+s%Some boot options:%%
+s%Default on for PCs >2001, may give boot/shutdown probs.%%
+s%Run totally in RAM ignore saved sessions,%%
+s%number of saved sessions to ignore (multisession-CD),%%
+s%commandline only, do not start X,%%
+s%copy .sfs files to RAM (slower boot, faster running),%%
+s%do not copy .sfs files to RAM (faster boot, slower running),%%
+s%do filesystem check on%%
+s%(and host partition)%%
+s%file cleanup (simulate version upgrade),%%
+s%Locale -- not normally required as asked after bootup.%%
+s%Keyboard layout, choices:%%
+s%Ignore ACPI, French keyboard layout.%%
+s%Run in RAM, do not start X.%%