History: How it all began—a need arises…

    by RR Koothady of the Puppy forums

    In June 2008, Puppy celebrated its 5th Birthday. It was born as an (Australian) English speaker. For the first 2 years, it remained that way. Then it slowly learned to speak a few more languages. For Puppy, learning new languages was not that easy, initially.

    First, it had to allow the Locale of a new language to get integrated into itself. Then, it had to allow specific key input methods to work properly with the many applications it had. The many keyboard layouts available out there had to be
    integrated also. Its Window Manager and the File Manager had to be translated. It had to become Unicode compatible. And, finally, its own Genetic Code - namely its Scripts - needed translation.

    Language Timeline

    Year Event
    2003 Australian Barry Kauler created the original English version Puppy Linux from scratch

    2006

     

    Hacao Puppy was released. This was a completely Vietnamese localised Puppy. It became instantly popular in Vietnam.
    Late 2006 Release of Muppy - the German language Puppy by Mark Ulrich.
    Late 2006-early 2007

    French Puppy called Toutou Linux by J.J. Moulinier was released

     

    Mid 2006 Chinese Puppy was released by Nyu, puppian, sccat, cecc and others.
    Mid-2007 Japanese Puppy was released by YoN in Mid-2007.
    Mid-2007 Russian Puppy was created in 2007 by magerlab and team.
    Early 2008 Greek Puppy was created by Hamsters.
    2006 to early 2008

    Portuguese, Italian, Spanish, Korean Puppies have also been released during this period.

    Contributions by Non-English Puppy to the main English based Puppy

    1. Desktop Environment - Windows Managers and Filer Systems

    The need to create a German language Puppy pushed Mark Ulrich to
    explore and work on topics like 1) Windows Managers and Filer Systems,
    2) Language Locales.. The original Puppy remained contented with Joe's
    Windows Manager and ROX Filer System. Mark's exploration resulted in
    introducing first KDE Desktop Environment to Puppy. ICE Windows Manager
    was introduced simultaneously and was adopted by many Puplet develepors.

    This initiative induced many to search for newer Windows Managers other
    than the default JWM of Puppy Linux. Xfce, Enlightenment, Fluxbox,
    Gnome Desktop were worked upon and adopted by these Pioneers for use in
    Puppy subsequently. Developers and Users of other Linux distros have
    translated many of these WM and Filer Systems into most other
    languages. However, to use these translated WM and Filer Systems
    readily, Puppy had to have working Locale Files for all these languages.

    2. Language Locales

    Making Non-English Locales (especially UTF based ones) work in Puppy
    remained a difficult problem till Puppy Version 3. When that Puppy
    Version was released, and was found to work easily with Slackware
    packages, a great rush to bring in Slack packages into Puppy ensued.
    The most notable package that was grabbed from Slack for Puppy was the
    "Locale" files that Slack was using. While the locale files from other
    Linux Distros refused to synchronise and work in Puppy, Mark Ulrich had
    found the Slack Locale files working perfectly in Puppy. Since then,
    one of the main impediments to have User Interface of Puppy in
    non-English languages- namely having working Locale files of these
    Languages - remains removed once and for all.

    Apart from these practical achievements, the most important achievement
    of these two works was that they had highlighted the need to support
    Unicode Encoding System by Puppy.

    3. Language Input Methods

    Creation of Vietnamese Hacao Puppy highlighted this issue for the first
    time. After much work by Hacao, Mark Ulrich and others Vietnamese Input
    was made possible in Puppy. However, other language users had to
    struggle to adopt their language specific Input Methods for Puppy once
    again. (Eg: Russian, Greek)

    When the work on Chinese and Japanese Puppies began, this lack was felt
    acutely. Nyu was the first Puppian who set out to explore Smart Common
    Input Method (SCIM) for its adoption into Puppy. His work and the work
    by YoN of Japanese Puppy brought SCIM into Puppy for the first time.
    However, their work was Chinese and Japanese specific, even though SCIM
    had the capacity to support 41 language inputs.

    4.Applications become Multi-Language Friendly

    Appearance of non-English Puppies created a necessity where it was felt
    that any new application developed exclusively for Puppy Linux should
    contain scripts written in a way so that they could be translated into
    languages other than English without much pain. The leader of this
    thought process was Zigbert (Sigmund Berglund) of Norway. As an avid
    Puppy lover, he began to write in early 2007, the now popular 'P'
    series of softwares (like PFind and PBurn) exclusively for Puppy. These
    applications were translated immediately into French, German, Russian
    and Japanese. These applications supported Unicode.

    5. Altering Puppy's single language Genetic Code...

    Clarion call for rewriting the mono-lingual Scripts of Puppy Linux to
    accept Multi-Language translation was sounded by Nathan F, Mark Ulrich
    and the Russian Puppy team in 2007. Nathan F has given an open call to
    all Puppians for taking up this task. Mark has proposed more than once,
    how this could be done. The Russian Puppy team had succeeded in
    translating the Puppy's Boot English Scripts into Russian. However,
    much remains to be done in this front.

    6. Birth of the Multi-lingual Puppy

    Works on Localisation and non-English Input Methods from 2006 to early
    2008 has brought in much into Puppy. However, on the Input Methods side
    still much needed to be done. For example, there was no easy way to
    input say Indic, Amharic, Arabic and many other languages in Puppy even
    as late as March 2008.

    Besides this, no concerted effort had been taken till March 2008 to
    check whether all the applications used in Puppy would be able to
    receive non-Latin inputs.

    a) Smart Common Input Method and the GTK/QT Tool Kits

    Work on finding an input method that could be used by most Language
    users started in April 2008. Smart Common Input Method (SCIM) was found
    to fit this requirement. Compiling it for Puppy began. GTK version of
    SCIM was compiled for Puppy 2, 3 and 4 easily. However, compiling it
    with qt-3 and qt-4 toolkits was immensely difficult. Irihapeti and
    David Muggins worked relentlessly over a month and solved this issue
    forthright. Compiling qt-3 input module for Puppy 3 remained an
    unsolved issue, which Irihapeti has solved in early July 2008.

    b) Choosing and Testing Applications with SCIM Compatibility

    Listing the applications that are basically necessary for Puppy began
    in May 2008. Swarup had proposed that a Full Text Search application, a
    Text Editor with continuous spell checking function and a light weight
    Database application must be included in the ML Puppy. Irihapeti had
    wanted Unicode friendly Scribus to be included. RR Koothady had wanted
    poedit, touch typing tutor and font encoding converters to be an
    integral part of the ML Puppy. Apart from this, it was felt, that all
    the applications used in Puppy (that is, in Puppy 2, 3 and 4) should be
    tested with the SCIM compiled with GTK and QT toolkits.

    Google Desktop Search tool was compiled and tested successfully but was
    not accepted by the ML Puppy team members because of its "closed"
    source nature. After a long search, the team settled for RECOLL text
    search application and it was successfully compiled and packaged for
    Puppy by David muggins. poedit was compiled and packaged successfully
    for the first time for Puppy by Irihapeti.

    Extensive testing brought out some of the previously unknown and much
    valuable/interesting information.

    c)Test Results

    Abiword 2.6.2 was found initially to render Indic fonts
    correctly (earlier versions had lacked this). However, on further
    testing it was soon found out that Abiword is unusable with SCIM for
    Indic languages.

    Open Office was successfully tested with SCIM.

    Owing to Oo's size it and the non-usability of Abiword, it was decided
    to give priority to "text editor + Desktop Publishing" application
    combination rather than to the Word Processors. This decision prompted
    the team to search for a Text Editor with dynamic spell check
    functionality. It was however found that not many text editors in Linux
    have this functionality. TEA and Geany were shortlisted finally.

    TEA was packaged for Puppy by David muggins immediately. However its
    spell check tool was found to be cumbersome, so it was decided to
    approach the Geany Developers to include a spell checker in their
    editor. Enrico Trogger, the chief developer of Geany readily agreed,
    and started working on the spell checker. Nathan F and David muggins
    had packaged the test versions for Puppy. Nathan F has made an easily
    installable pet package out of the every available aspell language
    dictionary. Aspell and Geany put together has been found promising and
    fine tuning of Geany's spell checker codes is being pursued currently.
    Nathan F has evinced interest to compile Hunspell and MySpell
    Dictionaries for Puppy. These Dictionaries are used by Open Office
    applications.

    Compiling Scribus with qt-3 and qt-4 toolkits was taken up by
    David muggins and Irihapeti.The work is in progress.

    Work on testing Portabase's compatibility with SCIM is in progress.
    Work to know whether klavaro Touch Typing tutor (compiled by David
    muggins) can be used for non-Latin languages is also being pursued.
    Work on Font encoding converters is yet to begin.

    Nathan F has evinced his interest to compile SKIM for those Puppies
    that may prefer to use the KDE Desktop Environment. He has also
    promised to compile Fontforge - the only decent Font Making Tool in
    Linux - for Puppy.

    d)The Future

    i) Mark Ulrich's Multiple Desktop Environment Tool

    Mark Ulrich has recently come out with a method by which the Windows
    Manager of Puppy can be switched from one to the other on the fly. This
    will be a great boon to ML Puppy.

    For example,it was found that some Windows Managers work comfortably
    with the Unicode Encoding Standard and that they tend to render
    non-Latin fonts correctly. Also, Windows Managers and Desktop
    Environments like KDE, Gnome and Xfce have been translated fully or at
    least partially into most non-English languages. Having Mark's multiple
    WM solution means having these Desktp Environments as Squash File
    System (SFS) files on the hard disk drive and choosing the required DE
    from Mark's Multiple WM Console. So, as and when new Puppy Versions are
    released with their default Windows Managers (mostly JWM, ICEWM),
    multi-language Puppians need not worry. They can use Mark's solution
    and have their own preferred Desktop Environment.

    ii)Enabling Puppy Versions 2, 3 and 4 with ML Capability

    ML Puppy team has decided unanimously to provide ML compatibility to
    the presently being used Puppy Versions namely 2, 3 and 4. So, no
    Puppian will be left excluded from going multi-lingual.