puppy localization [solved]

What features/apps/bugfixes needed in a future Puppy
Post Reply
Message
Author
User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

puppy localization [solved]

#1 Post by mavrothal »

I was trying to localize XOpup in Spanish the other day. Thanks to shinobar's and don570's work on puppy5.2 I had a good start.
Then I realized how much of puppy's UI and P_apps are hard coded in english. Few HUNDREDS distinct fields!!!

All over Xgialogs, gtkdialog3s and gtkdialog-splashes are in English, with no easy way to translate-one-use-everywhere. Eg you can do it for a given build but then with the next one you have to go all over again.
The other issue is, that a lot of P_apps are build in such a way that if you change the string the layout is getting all messed-up.

There are obviously exceptions but even there the localizations are all over the place and some times (quickpet comes to mind) they include all the localizations available taking up space with no benefit for the individual user.

These mean that a localized version is both tedious to make and if done, is destine to stays behind for a long time if not for ever (see puppy localized versions around).
Further more installing new pets you are back in english again either for the pet only or everything (!) in some cases.

I can appreciate the XOpup is an "Australian OS" and that English is spoken all over the world, however is a fact that the vast majority of computer users use an OS in their native language. So puppy is boxing itself in the corner with this approach.
Considering the ongoing support "for older hardware" is likely that a lot of it is or may end up on non-english speaking countries. So having "easy localization" is important to increase puppy's reach.

I know that have been similar discussions before and that there are more than one way to implement this, but I think that ultimately is up to Barry Kauler and his woof to decide if and which way to go.

This thread may serve as an idea exchange place that will hopefully lead to a mechanism (pootle, gettext, other) that will allow easy localization throughout Puppy.
Ultimately locals can be provided separately in the Live-CD/Download and be installed a a "first-run" option or at will latter, keeping Puppy small and agile but flexible too.
Last edited by mavrothal on Mon 01 Apr 2013, 10:34, edited 1 time in total.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

puppy localization

#2 Post by L18L »

thank you, mavrothal for opening this thread and
thank you, Bert for having pointed me to this thread.
I think that ultimately is up to Barry Kauler and his woof to decide if and which way to go.
I agree and I think he is already on the way, see 1st comment at PPM fixed about NLS-packages.
An improvement for the non-english user would be to have the NLS-box in PPM ticked by default.
That's my 2 cents for now.
Cheers
-------------------------------------------
Quickset Wary-502q (multilingual)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#3 Post by mavrothal »

You guys are doing en excellent job with Quickset Wary-502q (multilingual).
But look how things stand at the moment.
You can find localization strings at:
/usr/lib/locale/
/usr/share/i18n/locales/
/usr/share/locale/
/usr/share/doc/nls/
/usr/local/share/locale/
/usr/X11R7/lib/X11/locale/
/usr/local/apps/ROX-Filer/Messages/
/usr/share/doc/*/nls/
/usr/local/*/locals/
/usr/share/*/locale/
/usr/share/*/templates/
and I'm sure that are still dialogues and splashes escaping your excellent work.

And the next pet that comes up if it has any locals may has it anywhere! and implement any localisation scheme the developer may find appropriate!
This does not make sense and certainly makes localizations very difficult. Next to impossible to streamline and most important recycle from one version to the next.
Is almost impossible to easily find out which strings are changed and need a new translation and which not

That's why I think that some more organised effort is needed to decide how localisations will be done, where the strings will be how new versions will identify modified strings, etc.

Just consider this. Wary 500 that quickset is based on, is just 2 month old. Are you going to repeat all this work for wary 5.1.1 that just came out? What about 5.1.2 ?...
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#4 Post by 01micko »

/usr/lib/locale/
/usr/share/i18n/locales/
/usr/share/locale/
/usr/share/doc/nls/
/usr/local/share/locale/
/usr/X11R7/lib/X11/locale/
/usr/local/apps/ROX-Filer/Messages/
/usr/share/doc/*/nls/ (***note these are usually for DOTpot or DOTpo files [micko])
/usr/local/*/locals/
/usr/share/*/locale/
/usr/share/*/templates/
Hmm... I have noticed the inconsistency without downloading lupq or wary quickset.

The convention for compiled apps, as long as they are compiled --prefix=/usr, is for the DOTmo files to go in /usr/share/locale/$LANGUAGE_CODE/LC_MESSAGES/${PROGRAM_NAME}.mo

This is where all compiled gettext DOTmo files should go. So if one creates a script and localises it with gettext (which should be the standard) then the main DOTpot file is translated as a ${LANGUAGECODE}.po file then compiled into a $PROGRAM_NAME.mo file which resides where said.

The exception (for the moment) is zigbert's method, which I used in Quickpet. It is basically just reading a special $LANG file in the program's working directory. I guess this is where it get's messy. I have approached zigbert but he is quite busy until the next northern winter.

I suppose what we need to do is apply the standards, that is, everyone who scripts should learn to use gettext and where the locale file should be stored. It's not difficult. Even I roughly learnt some of it!

Cheers!
Puppy Linux Blog - contact me for access

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

Zigbert improves localization

#5 Post by don570 »

Zigbert has recently improved his code so that only the first two letters
need to be used

Example: es is used rather than es_MX for
mexican spanish . This avoids the use of all
those links that 01micko used
in quickpet .

I made a puppyhelp application by looking at the code in
Zigbert's pCD application and then I used what I know about
how pmusic is installed.

puppyhelp-1.0.pet
puppyhelp_NLS-1.0.pet


I have no training in programming,
yet I was able to get a functioning program to run.
So Zigbert's method has a lot going for it.

I think that high-level scripting will in the long-run
triumph over languages such as C.
__________________________________________________

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

puppy localization

#6 Post by L18L »

01micko wrote
I suppose what we need to do is apply the standards, that is, everyone who scripts should learn to use gettext and where the locale file should be stored. It's not difficult. Even I roughly learnt some of it!
+1 :)
And even our PuppyMaster did so, see http://murga-linux.com/puppy/viewtopic. ... &start=282 or do a search in his blog.
Note, the keyword is internationalisation or internationalization which is the step to be done before localization.

localization = translating messages, using date, time, paper, ... formats
internationalization = making a programm usable for localization

The standard is well documented here and can be used in puppy shell and BaCon.

Hope that helps, at least helps to let the discussion continue.

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

puppy localization

#7 Post by L18L »

Quoted from http://bkhome.org/blog/?viewDetailed=02213
anyone is welcome to submit more translations.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

Re: puppy localization

#8 Post by mcewanw »

mavrothal wrote:I was trying to localize XOpup in Spanish the other day. Thanks to shinobar's and don570's work on puppy5.2 I had a good start.
Then I realized how much of puppy's UI and P_apps are hard coded in english. Few HUNDREDS distinct fields!!!

All over Xgialogs, gtkdialog3s and gtkdialog-splashes are in English, with no easy way to translate-one-use-everywhere. Eg you can do it for a given build but then with the next one you have to go all over again.
The other issue is, that a lot of P_apps are build in such a way that if you change the string the layout is getting all messed-up.
Yes, this is a major issue. I am guilty of this myself, and only just started looking into it for futureproof apps. As a start point I've purposively used "gettext" throughout my latest app Pcreole, though not worked more on that otherwise.

In terms of internationalisation of applications, the following website is probably of interest for all developers:

http://www.transifex.net/
github mcewanw

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Re: puppy localization

#9 Post by L18L »

01micko wrote:...The exception (for the moment) is zigbert's method...
gettext method is official now
and zigbert has his Mission completed

mavrothal
[SOLVED] now. Don't you think ? :D

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: puppy localization

#10 Post by mavrothal »

L18L wrote:mavrothal
[SOLVED] now. Don't you think ? :D
I guess.
Although not in the "placing chaos" aspect....
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
vicmz
Posts: 1262
Joined: Sun 15 Jan 2012, 22:47

#11 Post by vicmz »

The first post says you needed some translations in Spanish. If at present you still need some, you may be interested in this thread:

http://murga-linux.com/puppy/viewtopic.php?t=76948
[url=http://murga-linux.com/puppy/viewtopic.php?t=76948]Puppy Linux en español[/url]

Post Reply