Navigate

· Home page

· Latest News

· Download Links

· Donations

· More About LyX

· LyX Graphical Tour

· Mailing Lists

· Tips & Tricks

· LyX Wiki

· Give Feedback

· Development News

· Developers' Web Site

    · Main Devel page

    · Roadmap / Tasks

    · How to use SVN

    · How to mirror us

    · Translation

    · I18n status

    · Stuff to read

· Alternate LyX Sites

· Site Map

 

Customize

· Short titles

· Top navigation bar

· Fewer images

Internationalization Effort

LyX mascot

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.

Menus, Dialogs and error messages

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.

Documentation

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.

What to Translate

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

When to Translate

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!

How to Translate

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.

Typing

There are two different ways to make typing in different languages easier: keyboard maps and key bindings.

Keyboard maps

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

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.

Web Pages

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.

Coding!

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.


CCP2000 logo

dante e.V. the German TeX User Group, sponsored the 7th International LyX Developers Meeting. Thanks to ANSOL for kindly hosting the meeting.


Valid XHTML 1.1! Valid CSS!

Webmaster: lyx-devel at lists dot lyx dot org

Page last updated on 2008-01-24 (year-month-day).