Puppy Philosophy

What features/apps/bugfixes needed in a future Puppy
Post Reply
Message
Author
Kazm
Posts: 29
Joined: Mon 14 Jan 2008, 21:53
Location: Russia, Ufa
Contact:

Puppy Philosophy

#1 Post by Kazm »

You know that now distro No.1 in world is Ubuntu.
And here their philosophy:
http://www.ubuntu.com/community/ubuntustory/philosophy
1. Every computer user should have the freedom to download, run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees.
2. Every computer user should be able to use their software in the language of their choice.
3. Every computer user should be given every opportunity to use software, even if they work under a disability.
We all love Puppy and what you say about this Puppy philosophy :) :

1. Every computer user should have the freedom to download, run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees. - YES. 8)
2. Every computer user should be able to use their software in the language of their choice. NO :cry:
3. Every computer user should be given every opportunity to use software, even if they work under a disability. I don't know about this in Puppy (also in Ubuntu)
4. Every computer user should be able to use their computers, even if their computers old or not powerful :shock: :D


Puppy Way = Ubuntu Way + 4 point.
But what about 2 point?

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#2 Post by MU »

2.) is really a problem.

Puppys scripts do not use external language-files.
Some apps do not support UTF-8 (like yaf-splash).
It took around a month to translate to german/rewrite/replace stuff for Muppy.
This costed my company over 5000 US$ (my loan plus the fees for the state).
If we would not have the goal to earn money somewhen with Muppy, we could not afford that.
For many companies, such costs will be a strong reason against Puppy.

I think, this also is an important reason, why hacao-linux still is based on Puppy 2.
It would take quite long, to create a version based on Puppy 3 or 4 from scratch. Just a guess, though.

For this reason I also will not use Dingo as a base for Muppy so quickly (beside other reasons).
But the language problem currently is THE reason for that.
After we made Puppy ready for the german market (still not perfectly translated), we now need to spend more time in the marketing and customizations/installations in companies, to start making some financial profit from it.

One of the next goals will be to upgrade to slackware 12.1 libs (at least glib/gtk), so that we have a solid base to use slackware-gnome as optional addon.
That would give us a completely localized desktop.
I currently fear, that in the end, Muppy will just keep the startscripts of Puppy, the rest will be more or less slackware.


But let's see, maybe after Barry had some well deserved break and gets his head free by doing some handcraft (wind-energy), maybe he will enhance dingo for better localization?
This is also just a guess (or hope ;) ).

Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
SirDuncan
Posts: 829
Joined: Sat 09 Dec 2006, 20:35
Location: Ohio, USA
Contact:

#3 Post by SirDuncan »

Actually, there are versions of Puppy in many different languages (I think there was even a Russian version). Like Mark said, the problem is that many programs, including Puppy's internal scripts, do not easily support localization. Although Ubuntu itself has localization support, they still suffer from programs that do not.

The best we could hope for is that Barry eventually adds localization support to Puppy, but I doubt we will see it added to many applications in the near future.

As for number 3, I know there are a few people who have been pushing programs to increase Puppy's usefulness to the disabled. One of the main things was a program that would read aloud the text on screen. I don't know what happened with that project, though.
Be brave that God may help thee, speak the truth even if it leads to death, and safeguard the helpless. - A knight's oath

Kazm
Posts: 29
Joined: Mon 14 Jan 2008, 21:53
Location: Russia, Ufa
Contact:

#4 Post by Kazm »

And we (from puppyrus.ru) also translating scripts to Russian 6 month.
And now we should made this with new versions of scripts ???

This is wrong way.
We ready to make and use localized version of scripts.
Last edited by Kazm on Fri 09 May 2008, 14:11, edited 1 time in total.

User avatar
growler
Posts: 209
Joined: Mon 24 Mar 2008, 04:42
Location: Kapiti - New Zealand

All things to all people

#5 Post by growler »

A distribution the size of puppy clearly has to make some compromises. Making an application multi-language adds a significant overhead. Making all applications and scripts in the OS multi-language would add a huge fat/weight choking our poor puppy that would turn into a lazy old mongrel with no energy or drive.

Whilst this is a difficult design decision to make and cuts off a whole lot of potential users of this fine system - puppy would not be puppy if it went multi-language.

I am sure if a English speaking German person as committed as Barry were to pick up puppy they could translate the scripts and create a Schnauzer equally as energetic as the aussie Dingo. It sounds like MU has done just that albeit with some compromises.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#6 Post by MU »

no, there is no overhead, or at least it is minimal.
Barry would not have to add translations.
We just need variables instead of fixed strings.
Please let me explain it more detailed:

Blue is in the script
Red is in the external languagefiles

Not:
echo "error"
But:
echo "${l_error}"

Now you add a languagefile, that is sourced by the script:
l_error="error"

The german file now would have:
l_error="Fehler"

The advantage is, that if Barry upgrades his script for Puppy 5, then it does not have to be rewritten.
If he adds a new line:
echo "${l_serious_error}"

Then for the translation just one line has to be added:
english:
l_serious_error="serious error"
german:
l_serious_error="schwerer Fehler"


So translators can extend their languagefiles in some minutes (add some variables) instead of some hours (translate all fixed strings by hand).

Only the english language-files would be in Barrys Puppy.
The german ones would be added in puplets, or by an optional Pet or SFS.

The time we gain by this, could be used to build new pets or develop stuff.
With the current system instead, lots of resources are wasted instead for repeatingly manual fixing.
I had to drop several project already because of this :?

Mark
Last edited by MU on Thu 08 May 2008, 23:15, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#7 Post by HairyWill »

Mark
When you put it like that I feel embarrassed for not making my contribution multi lingual. A question arose the other day about translating the start menu. I know that .desktop files can hold multiple language entries. Does the puppy xdg system handle them properly?
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#8 Post by Aitch »

Excellent explanation Mark, Thank You

If this is truly all that's required, your explaining it in the way you have, is surely going to increase awareness for Barry, of the reason to do this ASAP

As for the disabled access, this is not just a Puppy issue, so we are not that far behind anyone

Number 4's the clincher, though

Nice one, Kazm

Still to aim for, possibly?;

5. New hardware [Sata/smp & older server multies (w/wo Raid)]
6. X processor - MacPPC/Sunsparc/Risc?

Aitch

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#9 Post by MU »

HairyWill, yes it does.

Example:
Puppy-universal-installer.desktop

Code: Select all

[Desktop Entry]
Encoding=UTF-8
Name=Puppy universal installer
Name[de]=Puppy universal installer - Installation
Icon=mini-ray.xpm
Comment=Puppy universal installer
Exec=/usr/sbin/puppyinstaller
Terminal=false
Type=Application
Categories=X-SetupUtility
GenericName=Puppy universal installer
This line is new:

Code: Select all

Name[de]=Puppy universal installer - Installation
It is used automatically, if you have german languagesettings.

Important is:
Open that file in leafpad.
Add a line for your country.
Then choose "save as".
Now select UTF-8 in the combobox, and confirm to overwrite the existing file.
Or it will not display foreign characters.

Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
melvix
Posts: 96
Joined: Sat 14 Jul 2007, 18:48
Location: Vilnius, Lithuania
Contact:

#10 Post by melvix »

This is very impotent discussion. Our PuppyRus Linux Team have similar discussion about multilingual support in Puppy Linux.
The small part of problems in this topic.
I am working all my free time with our project 8 month, and the result of our team amazing! Thanks PuppyRus Linux Team!
But this good gays must again to translate many scripts only with own enthusiasm.
Puppy Linux may be the system Nr. 1, if it'll solve the internalization problem, IMHO.
For example a little part of our work: boot in Russian
Attachments
boot-rus.jpg
Boot in Russian
(56.35 KiB) Downloaded 930 times
[url=http://www.puppyrus.org/]Free software for free people![/url]

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#11 Post by magerlab »

i thnink we all non ( or not only) -english speaking users MUST start to make multilingual support for puppy out of the box. just having .desktop files translated and menu of jwm
and having VTE as a terminal emulator( out of the box support for utf-8 in console) gives many possibilities..
and also i think that we need to adopt variables to every script in puppy instead of making the same job for each version of puppy.

also with this basic work it would be easy to just have packs with locale files for many languages

PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

#12 Post by PaulBx1 »

The way to get localization is to sell Barry on it. Anything else is a waste of time since the Puppy mainstream will carry on and leave your localized derivative behind.

The way to sell Barry is to let him know Puppy survival depends on it. Then he can enforce it for all the code contributors: "Localize or your stuff won't be in Puppy." I don't think I'm mistaken that Puppy will fade if localization is not added to it. It's like trying to manufacture a product, to be sold worldwide, using non-metric parts and dimensions.

Another thing to do to sell this is provide a little "manual" about how it works, similar to what Mark did here but a little more extensive. Or a link to something explaining it. This will help developers localize their scripts. Also provide a little forum support for someone attempting to localize his scripts.

Another thing to do would be to take one of the simpler Puppy scripts and localize it with two or three associated language files. Include a few comments in the script dealing with localization (e.g. "before localization" and "after localization"). Then people would have a model to refer to. There needs to be some repository of petgets that people can submit their language files to, so standard Puppy does not have to carry all of them. Put the structure in place for the example script, add a readme explaining the process for adding a new language to the script, then it will happen. With some luck. :)

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#13 Post by Jesse »

Hi,

I once worked in a software team where we needed internationalization with the languages aspect.
There was one really bright cookie there that came up with a really clever idea, he came up with a design for the code such that when he compiled it, it ran several scripts to build the language support, automatically!
The scripts notice when there is a new text string in the source code, extracts it to a "text string index file", and then sends that text string off to babelfish.altavista.com for translation to each of the supported languages, saves the results to the language customization files, then completes the build steps for each language customization.
Very cunning! it's not a perfect solution, but usually worked well enough for the other language users to be able to use the application.

Jesse

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#14 Post by Lobster »

Jesse wrote:Hi,
The scripts notice when there is a new text string in the source code, extracts it to a "text string index file", and then sends that text string off to babelfish.altavista.com for translation to each of the supported languages, saves the results to the language customization files, then completes the build steps for each language customization.
Very cunning!
Jesse
Smart idea - would be this something that should be available at the t2 level? (How Puppy is updated)
http://www.t2-project.org/ :)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

Post Reply