Revision [19788]
This is an old revision of NativeLanguageSupport made by darkcity on 2011-12-03 16:45:35.
Native Language Support
Language Pages on Wiki
বাংলা | català | 中國的 | Deutsch | español | Français | ελληνικά | Magyar | italiano | 日本語 |
한국인 | Nederlands | Polski | Português | Русско | Svenska | ภาษาไทย | English | tiếng Việt | - |
Instructions for setting up Puppy to allow typing in non-latin character sets, such as Chinese, Japanese, Korean, Thai, Arabic, etc. This is different from a localization because the underlying system is still in English or other Western language.
You might want to do this if:
- you share a computer with friends or family members who speak different languages from you.
- you are learning a new language or languages, and don't yet feel knowledgeable enough to handle menus in the new language(s).
- you are running an internet café, or a multi-lingual workplace. You may want have several languages available to users, and still have the underlying system in the local language for support purposes.
The software used for this is SCIM (smart common input method).
Basic Installation:
HowToSetUpScim
GetScimWorkingAfterInstall
InstallingFonts
KeyboardLayouts
MakeScimWorkWithQT
MakeScimWorkWithJavaAndTerminal
ScimLanguagesAvailable
Fancy Stuff:
CompilingScimPackages
CompilingQtAndScimQtModules
The Scim help thread on the Puppy forums:
http://murga-linux.com/puppy/viewtopic.php?t=279
History: How it all began—a need arises…
by RR Koothady of the Puppy forums
The Scim files are here http://puppylinux.ca/members/Scim/
and here http://puppylinux.asia/members/Scim/
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 Multilingual 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. David Muggins worked relentlessly over a month and solved this issue forthright. Compiling QT-3 input module for Puppy 3 remained an unsolved issue 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. 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
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. 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.