1 ##########################################################################
3 # Languages supported by LyX.
9 # BabelName <babelname>
10 # PolyglossiaName <polyglossianame>
11 # PolyglossiaOpts "<language-specific options>"
13 # InternalEncoding <true|false>
15 # AsBabelOptions <true|false>
16 # LangCode <language_code>
17 # LangVariety <language_variety>
19 # <extra latex code inserted before babel>
22 # <extra latex code inserted after babel>
23 # EndPostBabelPreamble
24 # Requires <requirement>
30 # * Omitted elements will be treated as empty (if string) or "false"
32 # * Encoding is not relevant for XeTeX (which is utf8 always), and if
33 # Document > Settings > Language > Encoding is not set to "Language
35 # * InternalEncoding is used to tell LyX that babel internally sets a font
36 # encoding (such as hebrew to LHE). See bug #5091.
37 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
38 # globally to the class. Some languages (basically those not directly
39 # supported by babel) need this.
40 # FIXME: in this case, we might still need to pass the other languages
41 # globally, for the use of other packages (such as varioref).
42 # * LangCode is also used for spellchecking and thesaurus, where the
43 # dictionaries are named accordingly. Thus, check this when intoducing/
44 # changing language codes (especially aspell, thesaurus).
45 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
46 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
47 # http://www.w3.org/International/articles/language-tags/
48 # http://www.iana.org/assignments/language-subtag-registry
49 # * LangVariety is used by the aspell spellchecker to differentiate
50 # dictionaries for different varieties of a given language (e.g. German
51 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
52 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
53 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
55 ##########################################################################
58 # LyX-internal languages
64 PolyglossiaName ignore
79 # not yet supported by polyglossia
90 PolyglossiaName albanian
96 GuiName "English (USA)"
98 PolyglossiaName english
99 PolyglossiaOpts "variant=american"
104 # not supported by babel
105 Language ancientgreek
106 GuiName "Greek (ancient)"
107 PolyglossiaName greek
108 PolyglossiaOpts variant=ancient
113 # FIXME: dummy babel language for arabic_arabtex to be able
114 # to switch the language the way of the ArabTeX-package
115 Language arabic_arabtex
116 GuiName "Arabic (ArabTeX)"
123 # polyglossia uses "Arabic" for the lang environment
124 Language arabic_arabi
125 GuiName "Arabic (Arabi)"
127 PolyglossiaName arabic
133 # not supported by babel
136 PolyglossiaName armenian
142 GuiName "English (Australia)"
144 PolyglossiaName english
145 PolyglossiaOpts "variant=australian"
150 # not yet supported by polyglossia
152 GuiName "German (Austria, old spelling)"
158 # not yet supported by polyglossia
160 GuiName "German (Austria)"
169 PolyglossiaName bahasai
177 PolyglossiaName bahasam
185 PolyglossiaName basque
190 # not yet supported by polyglossia
199 GuiName "Portuguese (Brazil)"
201 PolyglossiaName brazil
209 PolyglossiaName breton
215 GuiName "English (UK)"
217 PolyglossiaName english
218 PolyglossiaOpts "variant=british"
226 PolyglossiaName bulgarian
231 # not yet supported by polyglossia
233 GuiName "English (Canada)"
235 # PolyglossiaName english
236 # PolyglossiaOpts "variant=canadian"
241 # not yet supported by polyglossia
243 GuiName "French (Canada)"
245 # PolyglossiaName french
246 # PolyglossiaOpts "variant=canadien"
254 PolyglossiaName catalan
255 PolyglossiaOpts "babelshorthands=true"
261 Language chinese-simplified
262 GuiName "Chinese (simplified)"
269 Language chinese-traditional
270 GuiName "Chinese (traditional)"
276 # not supported by babel
279 PolyglossiaName coptic
287 PolyglossiaName croatian
295 PolyglossiaName czech
303 PolyglossiaName danish
308 # not supported by babel
310 GuiName "Divehi (Maldivian)"
311 PolyglossiaName divehi
319 PolyglossiaName dutch
320 PolyglossiaOpts "babelshorthands=true"
328 PolyglossiaName english
333 # Esperanto has no country code because it is an auxiliary language.
334 # We therefore the name of its hunspell dictionary.
338 PolyglossiaName esperanto
346 PolyglossiaName estonian
351 # the preamble definitions are only used due to bugs in the
352 # arabi-package -- remove them if they become unnecessary!
356 PolyglossiaName farsi
361 \DeclareTextSymbol{\guillemotright}{LFE}{62}
362 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
369 PolyglossiaName finnish
374 # We redefine \og and \fg (guillemets) for older french language definitions
378 PolyglossiaName french
382 \addto\extrasfrench{%
383 \providecommand{\og}{\leavevmode\flqq~}%
384 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
392 PolyglossiaName galician
397 # german does not use a country code (due to the variety)
399 GuiName "German (old spelling)"
401 PolyglossiaName german
402 PolyglossiaOpts "spelling=old,babelshorthands=true"
411 PolyglossiaName german
412 PolyglossiaOpts "babelshorthands=true"
417 # Swiss German is not supported by babel and polyglossia yet
418 # We use ngerman for now (spellchecking is supported though!)
420 GuiName "German (Switzerland)"
422 PolyglossiaName german
423 PolyglossiaOpts "babelshorthands=true"
431 PolyglossiaName greek
433 InternalEncoding true
437 Language polutonikogreek
438 GuiName "Greek (polytonic)"
439 BabelName polutonikogreek
440 PolyglossiaName greek
441 PolyglossiaOpts "variant=polytonic"
443 InternalEncoding true
450 PolyglossiaName hebrew
452 InternalEncoding true
457 # not supported by babel
460 PolyglossiaName hindi
465 # Currently not supported (file format change!)
466 # "hungarian" is a synonym for the "magyar" babel language option
467 # "hungarian" might be used for special purposes,
468 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
470 # GuiName "Hungarian"
471 # BabelName hungarian
479 PolyglossiaName icelandic
484 # Interlingua has no official country code because it is an auxiliary
485 # language. We therefore the name of its hunspell dictionary.
487 GuiName "Interlingua"
488 BabelName interlingua
489 PolyglossiaName interlingua
497 PolyglossiaName irish
505 PolyglossiaName italian
510 # japanese must be loaded locally with babel options,
511 # not globally via class options
512 # http://www.lyx.org/trac/ticket/4597#c4
523 Language japanese-cjk
524 GuiName "Japanese (CJK)"
530 # not yet supported by polyglossia
545 # not supported by babel
548 PolyglossiaName kurmanji
553 # not supported by babel
561 # There is no country code for Latin because it is a dead language.
562 # We therefore the name of its hunspell dictionary.
566 PolyglossiaName latin
571 # latvian must be loaded locally with babel options,
572 # not globally via class options
576 PolyglossiaName latvian
582 # lithuanian must be loaded locally with babel options,
583 # not globally via class options
587 PolyglossiaName lithuanian
593 Language lowersorbian
594 GuiName "Lower Sorbian"
595 BabelName lowersorbian
596 PolyglossiaName lsorbian
604 PolyglossiaName magyar
609 # not supported by babel
612 PolyglossiaName marathi
617 # mongolian must be loaded locally with babel options,
618 # not globally via class options
619 # not yet supported by polyglossia
629 GuiName "English (New Zealand)"
631 PolyglossiaName english
632 PolyglossiaOpts "variant=newzealand"
638 GuiName "Norwegian (Bokmaal)"
640 PolyglossiaName norsk
646 GuiName "Norwegian (Nynorsk)"
648 PolyglossiaName nynorsk
653 # not supported by babel
656 PolyglossiaName occitan
661 # Currently not supported (file format change!)
662 # Russian orthography from the Petrine orthographic reforms of
663 # 1708 to the 1917 orthographic reform
664 # Language oldrussian
665 # GuiName "Russian (Petrine orthography)"
666 # PolyglossiaName russian
667 # PolyglossiaOpts spelling=old
668 # LangCode ru_petr1708
674 PolyglossiaName polish
682 PolyglossiaName portuges
690 PolyglossiaName romanian
698 PolyglossiaName russian
706 PolyglossiaName samin
711 # not supported by babel
714 PolyglossiaName sanskrit
722 PolyglossiaName scottish
730 PolyglossiaName serbian
735 Language serbian-latin
736 GuiName "Serbian (Latin)"
738 PolyglossiaName serbian
739 PolyglossiaOpts "script=latin"
747 PolyglossiaName slovak
755 PolyglossiaName slovenian
763 PolyglossiaName spanish
767 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
771 # there are no spanish shorthands in polyglossia
772 Language spanish-mexico
773 GuiName "Spanish (Mexico)"
775 PolyglossiaName spanish
779 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
786 PolyglossiaName swedish
791 # not supported by babel
794 PolyglossiaName syriac
799 # not supported by babel
802 PolyglossiaName tamil
807 # not supported by babel
810 PolyglossiaName telugu
822 \usepackage{thswitch}
829 PolyglossiaName turkish
837 # turkmen must be loaded locally with babel options,
838 # not globally via class options
842 PolyglossiaName turkmen
851 PolyglossiaName ukrainian
856 Language uppersorbian
857 GuiName "Upper Sorbian"
858 BabelName uppersorbian
859 PolyglossiaName usorbian
864 # not supported by babel
872 # vietnam must be loaded locally with babel options,
873 # not globally via class options, see
874 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
878 PolyglossiaName vietnamese
888 PolyglossiaName welsh