
Localization
------------

The localization process involves two files.

  - A locale dependent file (for example, fr.tmac for French) where all
    locale specific strings are (re)defined.

  - A locale independent file (trans.tmac) responsible for activating those
    localized strings.

All you have to do is to create a new file named `LL.tmac' where `LL' is
your country code (`de' for Germany, `el' for Greece, ...), maybe using
`fr.tmac' as a template.

The first thing to do is to redefine the string `locale' to your language.

  .ds locale german\"

Then change all the translations in the predefined strings.  Don't forget
the \" at the end of each string, preventing spaces from lurking around.

After `trans.tmac' has been called by

  .mso trans.tmac

you must redefine the date strings in order to use the day and month names
translated earlier.  If you don't feel comfortable with groff maybe you
should use the definitions used in `fr.tmac'.  Nevertheless, you should take
care of the order of the date elements.

  - If your date format is MM/DD/YY:

      for ms: .ds DY \*[MO] \n[dy] \n[year]
      for mm: .ds cov*new-date \\*[MO\\n[mo]] \\n[dy] \\n[year]
      for me: .ds td \*(mo \n(dy \n(y4

  - If your date format is DD/MM/YY:

      for ms: .ds DY \n[dy] \*[MO] \n[year]
      for mm: .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] \\n[year]
      for me: .ds td \n(dy \*(mo \n(y4

Other date formats can be handled similarly.

NOTE: For the mm package, in the `ISODATE' macro, only the first definition
      of `cov*new-date' must be changed (see `fr.tmac').

Finally, change groff behaviour in order to comply with your locale.  For
example, `fr.tmac' changes the default encoding, sets the sentence spaces,
and final activates hyphenation, provided there are hyphenation patterns
available (which should be put into files named `hyphen.LL' for
consistency).
