FR.TMAC ======= `fr.tmac' is intended for the french users of the mm, me, ms and mom packages. It translates all the predefined strings defined in these latters. Usage: groff -mm -m fr foo.mm Et voila! You won't see anymore words like `Table of contents' inside your french litterature. Important: note that the fr macro package must be called last on the command line. Localization ------------ `fr.tmac' was initially designed for the french speaking people. But it was also designed as a first step to bring other languages to groff. The localization process involves two files: - a locale dependant file (fr.tmac) where all that is specific to a country is (re)defined. - a locale independant file (trans.tmac) responsible for activating the new translated predefined strings. All you have to do is 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 skeleton. 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 days and month 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 elements of the date, for example: - if you 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 you 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 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 sentence spaces and tunes hyphenation.