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:


There are at least two applications that you will find in every recent Puppy that are written in BaCon and have internationalization support:
If you have the 'devx' SFS loaded, then these will also be present:
/usr/sbin/welcome1stboot.pot /usr/sbin/welcome1stboot.pupdev /usr/local/simple_network_setup/proxy-setup.bac /usr/local/simple_network_setup/proxy-setup.pot
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:
If you have the 'devx' SFS loaded, you will also find these in /usr/sbin:
...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:


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


...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.