HOWTO internationalize applicationsInternationalization of applications and scripts in Puppy Linux is a work-in-progress. Applications written in BaConBaCon 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/sbin/welcome1stboot.bac Scripts internationalized with 'gettext'There are a lot of scripts in Puppy that use 'gettext' for translating. Here are some in /usr/sbin:alsaconf mousecheck.pupdev 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 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. MoManager translation managerMoManager is a GUI application written by me (Barry Kauler) that makes it very easy for anyone to create non-English translations for applications in Puppy. You must have a Puppy built from a Woof version later than February 14, 2012.MoManager is for creating and updating translation files for scripts, XML files, menu files and any other data text files. Scripts are applications that are text files, usually written in Bash or Ash (or Perl, Python, Tcl, etc.). Note, if you are unfamiliar with 'scripts', don't worry, they are just applications. To use MoManager, the best thing to do is just go ahead and use it. You will find it in the 'Utility' menu. Once started, you will see two columns of drop-down lists, one list is of files that already have a translation file for your language (on left side), the other list is for files that do not yet have a translation file. if you select a file from the former list, you may update the translation, and in the latter case you may create a new translation file. Here is a snapshot of the main window, Puppy running with de_DE locale: ![]() ScriptsIn the case of updating an existing translation file, MoManager automatically synchronises with the latest script, and will identify any changed strings -- if you see the text "fuzzy" anywhere in the translation file, it is likely that the original English text has changed and you will need to update the translation.A translation file for a script means that when the application runs, it will output all text in your language. By creating translation files for all the scripts, you can help to create a Puppy that runs nicely in your language -- and by sending the translation files to me, I can put them into Woof for all future builds of Puppy. Although it is probably possible to figure out how to edit a translation file, known as a 'po' file in it's editable form, or 'mo' file in it's compiled form, it is helpful to readup a bit on the topic. I suggest: ...note though, reading all of that can be confusing! It is possible to use MoManager without understanding all of those details. MoManager uses a normal text editor to edit po files rather than a specialized po-editor (such as poedit) and this is quite easy to do, you just need a very basic understanding of the format of po files. Regards, Barry Kauler |