initrd internationalized
February 15, 2012 —
BarryK
Well, I have done an awful lot of coding today, I'll be surprised if there isn't a typo in there somewhere.
I have internationalized the 'init' script in the initrd, but not with t12s. Instead, I have an extremely simple system much like the original idea from L18L, a file of simple sed expressions. I have done a 'de' translation to demonstrate, based on L18L's existing translations.
Translations for the 'init' script are managed in MoManager. They are stored at /usr/share/sss/initrd_strings/. The translations are copied into the initrd by '3builddistro' in Woof.
I have done something very ambitious with 'chooselocale' (which is now inside quicksetup). The user is asked if they want the initrd to be converted to their chosen locale, and if they do, then the initrd.gz is opened up and a file /PUPPYLANG is created in the initrd, plus latest translations for 'init' copied in. Then the initrd.gz is put together again.
Thus, on next boot, the early boot messages are automatically in the correct language. Note, a kernel 'plang' parameter is also recognized, which will override whatever the initrd is set to.
I have to tidy up a few details, then will do a Racy build.
Comments
/etc/rc.d/rc.sysinitUsername: rodin.s
Init doesn't translate all boot messages. /etc/rc.d/rc.sysinit should also be translated. L18L have internationalized it using t12s. http://www.murga-linux.com/puppy/viewtopic.php?p=604774#604774
Re rc.sysinit
Username: BarryK
"rodin.s, Ok, I will do that next. In Woof, 3builddistro can now choose a default language and keyboard-layout. So, if a Puppy is built with a langpack installed, it can be built ready-to-go for that language. ...in theory, I haven't tested any of this new work yet.
New console fonts
Username: BarryK
"Thanks to L18L, there are a couple of new console fonts in the initrd, which will help with displaying non-English text.
SSS translation
Username: BarryK
"I have simplified the SSS translation method. It now uses simple sed expressions. rodin.s, It means that the .ru files that you have created in /usr/share/sss will have to be removed and remade. It is looking pretty good, in theory. I am just about to do a test Racy build. I haven't uploaded Woof for awhile, will do so if the test build is sane.
Tags: woof