The LyX program and its documentation are developed in English. However, many LyX developers and users write or speak other languages. While LyX already supports a bunch of languages, much work remains to be done. Contributions for LyX internationalization are always welcome. There are several sorts of contributions you could make, which are described below.
Note that the main documentation describing how to create these files can be found in the "Customization" document accessible from the LyX Help menu.
Translating the user interface into another language allows users who don't
speak English to be much more comfortable with LyX. By "user interface" we
mean both the menu items and the LyX error messages. If an installation is
correctly configured, the correct language should automatically be loaded.
LyX uses GNU gettext for this purpose.
To make a new translation, you need to create a .po file. Check
out the po directory in the LyX distribution for examples.
The current state of the user interface for languages other than English
can be found here. Further informations how to
proceed with .po files can be found
here.
One of the most useful contributions you can make to the LyX development effort is translating the documentation. Of course, there is a lot of documentation, so you might want some help.
Which documents should you translate? Which have already been translated? Here are the currently known translation efforts. The "Language" link, if any, links to a web site for the translation effort, while the "Contact" link will mail to the head (or only) translator. If you would like to work on translation, please mail the contact for your language, so that you can coordinate who will do what. If no such contact exists, send mail to the Developers' mailing list, and--with your permission--we'll make you the contact.
| Language | Code | Status | Contact |
|---|---|---|---|
| Basque | eu | Mostly done! | Dooteo |
| Brazilian Portuguese | pt_BR | In progress (?) | Alexandre Taschetto de Castro |
| Bulgarian | bg | In progress | Georgi Tellalov |
| Catalan | ca | Splash | Francesc Burrull i Mestres |
| Croatian | hr | Tutorial in progress (?) | Grigor Coric |
| Czech | cs | Tutorial | Ludek Brukner |
| Danish | da | interface, Intro, splash | Claus Hindsgaul |
| Dutch | nl | Intro, Tutorial, Splash | Tino Meinen |
| French | fr | Mostly done! | Adrien Rebollo |
| German | de | Mostly done! | Peter Sütterlin |
| Greek | el | In progress (?) | Menelaos Maglis |
| Hebrew | he | Intro, Tutorial | Ran Rutenberg |
| Hungarian | hu | Intro | Laszlo Zrubecz |
| Indonesian | id | In progress (?) | Haris Fauzi |
| Italian | it | Intro, Tutorial, UserGuide, Customization, Splash | Claudio Coco |
| Japanese | jp | Intro, Tutorial, Splash, Users' Guide | Kohtaro Hitomi |
| Polish | pl | Intro, Tutorial, Splash | Wojtek Pêkala |
| Portugese | pt | Intro, Splash, Tutorial | José Ernesto Jardim |
| Romanian | ro | Splash, Intro | Unmaintained |
| Russian | ru | Splash, Intro, Tutorial, FAQ | Maxim Dzumanenko |
| Slovak | sk | UserGuide, Tutorial | Zdeno Podobný |
| Slovene | sl | Intro, Tutorial, Splash | Roman Maurer |
| Spanish | es | Intro, Tutorial, Splash | David Suarez de Lis |
| Swedish | sv | Intro, Tutorial | Martin Sjögren |
| Walloon | ?? | In progress (?) | Lorint Hendschel |
What order should the documents be translated in? Translate the Tutorial first. That document will be seen by the most new users (hopefully!) and is most likely to be read from start to finish. Few people will read the whole User Guide, and it may be easier to look up one detail in English than to read a whole manual. Of course, the eventual goal is to translate everything.
After the Tutorial, you should translate the Introduction
(Intro.lyx) and the splash document (lib/examples/splash.lyx),
as well as the example documents for the Tutorial
(lib/examples/example_*.lyx).
These are very short files, so they'll be easy to translate quickly.
Once these are done, the Users' Guide and Extended Features are the next in line. If you've gotten that far, you probably have a large enough group of volunteers to finish all the rest of the documentation (and keep the translations up to date as the English docs change!) Well done!
In general the rules for writing documentation are found in
DocStyle.lyx in the documentation directory. As of April 20,
1999, John Weiss has added a translators section to this document. Please read
it and follow the rules. According to that document, the chief translator
for each language (which might be you) will write an Addendum with typography
etc. specific to that language. You should also read (or write) that. Finally,
John has written a short document entitled
On Translation, which is optional, but a
fun, and possibly useful, read.
For each document, you should translate foo.lyx to
xx_foo.lyx, where xx is the two-letter
ISO 639
code for that language. The German version of the splash page, for example,
would be lib/examples/de_splash.lyx. That way, machines that have
been correctly set up will automatically load the correct document. The only
exception to this rule is the Tutorial example documents. Since the user loads
these explicitly (not through the Help menu), it's better to use a translated
version of the file name. For example, the German example documents (which
still go in the lib/examples directory) are
de_beispiel_roh.lyx and de_beispiel_gelyxt.lyx.
(As of version 1.1.4, we've decided to put the two-letter language code in
front of the translated name. The examples directory was getting cluttered as
the number of translations increased, and using the ISO 639 code makes it
easier to find the example files for a given language.)
Translating is very difficult. One thing to keep in mind when you're translating is that English slang and idioms don't necessarily translate exactly into other languages. If the docs describe a person "with the I.Q. of a potato", feel free to use a language-specific idiom for a less that brilliant individual. The same ideas apply to translating jokes, and to the general informal style of the docs. Try to make the document seem like it was originally written in your language, rather than translated!
Translate the latest versions of the docs, and keep current
as they change. For example, documents are now supposed to use the official
menu separator (see DocStyle.lyx) instead of "->". The Tutorial
and other intro documents should be changing only rarely, so it should
be easy to keep them current.
There are two different ways to make typing in different languages easier: keyboard maps and key bindings.
Keyboard maps allow users to type in various languages in case there is no
appropriate input mechanism for the given environment or language. They allow
you either to remap single keys, or to map combinations of keys to certain
accented or other characters. To make a new kmap, you just have to create a
.kmap file. Look at the files in the lib/kbd
directory in the LyX distribution for examples.
Key bindings allow you to use command shortcuts that make sense in
a different language. "M-c b" makes sense for setting the
character style to bold in English,
but maybe not in some other languages. To make a new binding, you need
to find in the lib/bind directory of the LyX distribution
the file which contains the incorrect bindings. If you want to change
the definitions from the menus.bind file, for example,
all you have to do is to create a xx_menus.bind, where
xx is your country code: LyX will automatically notice
your file and use it when the LANG environment variable
points to xx.
Non-English web sites can be useful either for people who don't know any English, or for languages which require a bit of "tweaking" (e.g., Asian languages in LyX 1.0). The translation page on the main LyX home page has a list of non-English web sites. Let us know if you create a new one.
Finally, we could use your coding help. The LyX 1.5 development effort was substantially extending the internationalization of LyX by incorporating Unicode. Special attention is being given to Asian languages, and right-to-left editing support is in progress. If you've got (or would like) any experience with coding for multi-lingual documents, contact the Developers' mailing list.
dante e.V. the German TeX User Group, sponsored the 7th International LyX Developers Meeting. Thanks to ANSOL for kindly hosting the meeting.
Page last updated on 2008-01-24 (year-month-day).