Woof2
Artifact Content
Not logged in

Artifact 375a350ce4363addfd87592bd883b00d7f9fe112



HOWTO internationalize applications


Internationalization of applications and scripts in Puppy Linux is a work-in-progress.


Applications written in BaCon

BaCon is a BASIC compiler, one of our officially supported languages for Puppy development. Internationalization is supported by the compiler, as explained here:

http://bkhome.org/bacon/international.htm

There are at least two applications that you will find in every recent Puppy that are written in BaCon and have internationalization support:
/usr/sbin/welcome1stboot
/usr/local/simple_network_setup/proxy-setup
If you have the 'devx' SFS loaded, then these will also be present:
/usr/sbin/welcome1stboot.bac
/usr/sbin/welcome1stboot.pot /usr/sbin/welcome1stboot.pupdev /usr/local/simple_network_setup/proxy-setup.bac /usr/local/simple_network_setup/proxy-setup.pot
/usr/local/simple_network_setup/proxy-setup.pupdev
The .bac file is the BaCon source code. The .pot file is the language translation file. The .pupdev file is just a text file which has instructions on how to compile and do the language translation. The .pot and .pupdev are optional, not necessarily always in the 'devx' -- but if you read one of the .pupdev files it should show you how to create a language translation for any other BaCon application.

Scripts internationalized with 'gettext'

There are a lot of scripts in Puppy that use 'gettext' for translating. Here are some in /usr/sbin:
alsaconf
connectwizard
hostname-set
keymap-set
mousecheck
quicksetup
shutdownconfig
If you have the 'devx' SFS loaded, you will also find these in /usr/sbin:
mousecheck.pupdev
quicksetup.pupdev
shutdownconfig.pupdev
...these are text files that explain how to do the internationalization. You can follow the instructions to translate the script to your own language. The instructions can also be applied to other scripts that use 'gettext'.

Scripts internationalized with 't12s'

This is a very fast technique pioneered by technosaurus and implemented for Puppy by L18L. See discussion in Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=73440

Here is an example script that you will find in recent puppies:
/usr/sbin/xdelta_gui
Here are online instructions on how to use this technique to create a translation for your language:

http://extra-inter.net/puppy/t12s_DOC/t12s.html

...this relies upon the application /usr/sbin/t12s, a GUI app created by L18L. It requires the 'yad' package be installed, that is likely to be the case in recent puppies.

It is likely that t12s will be our preferred technique for future internationalized scripts in Puppy.