Non-English builds of EasyOS
I have wanted to do this for years!
Puppy Linux has "langpacks", PET packages named like 'langpack_de-20150419.pet', for the case of a German (de) langpack.
What happens, is you would boot the English Puppy, then choose an appropriate locale, then install an appropriate langpack.
That's OK, however, there is a better way. It is possible to build
specific non-English distributions in Woof. Or rather, it can be done
with some modifications, mostly to the '3buildeasydistro' script in
WoofE (my fork of Woof for building EasyOS).
The advantage of doing it this way is two-fold. Firstly, the
'2createpackages' script in Woof extracts all of the translation files
as <packagename>_NLS from the original binary packages. These are
not included in the build, due to the size. However, a specific
language, say 'de' or 'de_*', could be extracted and included in the
build.
Also, an appropriate langpack, if it exists, can be included in the build.
So, we have just about everything translated. The second aspect is
that the build is ready-to-go in that language, nothing to do.
So, I have done it. WoofE can now build for any language you choose. I
have done a 'de' build. I built 'easy-0.9.18-de-amd64.img.gz', and very
interesting, it is 8MB bigger than the English build, so there are a
lot of de translation files in there! Wrote it to a USB stick and
booted:
...this is the reFind boot mamaner menu. See those two "??" -- that
is because reFind cannot display UTF-8 characters. We need to do some
research on how Syslinux and reFind boot menus can display non-English
characters.
Also, some text, for example "Reboot Computer" is built into the refind binary. That also needs to be researched.
After choosing "normales bootup", the init script in the 'initrd' will execute:
...UTF-8 characters now display OK. I do need to give some attention to the different lengths of the background colours.
Then there is a desktop:
...everything is translated, including most apps.
Notice some English strings in QuickSetup. This is due to using an old /usr/share/locale/de/LC_MESSAGES/quicksetup.mo.
Also, the 'de' langpack is dated 20150419, very old. With this 'de'
build, it will be very easy to update the langpack. Just run MoManager
from the Utility menu, and it is pretty straightforward. You will be
able to create updates for particular menus or apps, or even create a
new langpack.
I am thinking of releasing several language-specific builds of
EasyOS, and everyone will be invited to contribute to updating the
translations.
Note that the Utility menu has two entries for MoManager:
MoManager create non-English EasyOS
MoManager translation manager, old version
They are, respectively, /usr/sbin/momanager and /usr/sbin/momanager0.
The latter is an older version. I currently use the older version, as
it has some fixes for EasyOS. Lutz (Puppy Forum member L18L), has
contributed to both, and has put many enhancements into the later
version.
We are just getting into non-English support in EasyOS, and most
likely Lutz will checkout the later version and make sure it runs well
in EasyOS.
Note also, the langpacks in the 'noarch' PET repository all come from
Puppy and Quirky Linux days. These are expected to be updated to work
nicely in EasyOS.
Tags: easy