1 ##########################################################################
3 # Languages supported by LyX.
9 # BabelName <babelname>
10 # PolyglossiaName <polyglossianame>
11 # PolyglossiaOpts "<language-specific options>"
13 # FontEncoding <font encoding>
14 # QuoteStyle <danish|english|french|german|polish|swedish>
15 # InternalEncoding <true|false>
17 # AsBabelOptions <true|false>
18 # LangCode <language_code>
19 # LangVariety <language_variety>
21 # <extra latex code inserted before babel>
24 # <extra latex code inserted after babel>
25 # EndPostBabelPreamble
26 # Requires <requirement>
32 # * Omitted elements will be treated as empty (if string) or "false"
34 # * The QuoteStyle arguments correspond to the following styles:
35 # - danish: >>text<< >text< (inward guillemets)
36 # - english: ``text'' `text' (66_99)
37 # - french: <<text>> <text> (outward guillemets)
38 # - german: ,,text`` ,text` (99/66)
39 # - polish: ,,text'' ,text' (99/99)
40 # - swedish: ''text'' 'text' (99_99)
41 # Note that the option names have been selected (rather arbitrarily)
42 # because the respective styles are common in the respective countries.
43 # Of course this does not imply any fixed relation to those countries.
44 # * Encoding is not relevant for XeTeX (which is utf8 always), and if
45 # Document > Settings > Language > Encoding is not set to "Language
47 # * InternalEncoding is used to tell LyX that babel internally sets a font
48 # encoding (such as hebrew to LHE). See bug #5091.
49 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
51 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
52 # globally to the class. Some languages (basically those not directly
53 # supported by babel) need this.
54 # FIXME: in this case, we might still need to pass the other languages
55 # globally, for the use of other packages (such as varioref).
56 # * LangCode is also used for spellchecking and thesaurus, where the
57 # dictionaries are named accordingly. Thus, check this when intoducing/
58 # changing language codes (especially aspell, thesaurus).
59 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
60 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
61 # http://www.w3.org/International/articles/language-tags/
62 # http://www.iana.org/assignments/language-subtag-registry
63 # * LangVariety is used by the aspell spellchecker to differentiate
64 # dictionaries for different varieties of a given language (e.g. German
65 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
66 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
67 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
69 ##########################################################################
72 # LyX-internal languages
78 PolyglossiaName ignore
93 # not yet supported by polyglossia
105 PolyglossiaName albanian
112 GuiName "English (USA)"
114 PolyglossiaName english
115 PolyglossiaOpts "variant=american"
121 # not supported by babel
122 Language ancientgreek
123 GuiName "Greek (ancient)"
124 PolyglossiaName greek
125 PolyglossiaOpts variant=ancient
131 # FIXME: dummy babel language for arabic_arabtex to be able
132 # to switch the language the way of the ArabTeX-package
133 Language arabic_arabtex
134 GuiName "Arabic (ArabTeX)"
142 # polyglossia uses "Arabic" for the lang environment
143 Language arabic_arabi
144 GuiName "Arabic (Arabi)"
146 PolyglossiaName arabic
149 FontEncoding "LFE,LAE"
155 # not supported by babel
158 PolyglossiaName armenian
165 GuiName "English (Australia)"
167 PolyglossiaName english
168 PolyglossiaOpts "variant=australian"
174 # In polyglossia, this is supported since release 1.33.4 (May 2014)
175 # We introduce it with LyX 2.2 to give the support time to settle.
177 GuiName "German (Austria, old spelling)"
179 PolyglossiaName german
180 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
186 # In polyglossia, this is supported since release 1.33.4 (May 2014)
187 # We introduce it with LyX 2.2 to give the support time to settle.
189 GuiName "German (Austria)"
191 PolyglossiaName german
192 PolyglossiaOpts "variant=austrian,babelshorthands=true"
201 PolyglossiaName bahasai
210 PolyglossiaName bahasam
219 PolyglossiaName basque
224 \addto\extrasbasque{\bbl@deactivate{~}}
228 # not yet supported by polyglossia
239 GuiName "Portuguese (Brazil)"
241 PolyglossiaName brazil
250 PolyglossiaName breton
257 GuiName "English (UK)"
259 PolyglossiaName english
260 PolyglossiaOpts "variant=british"
269 PolyglossiaName bulgarian
275 # not yet supported by polyglossia
277 GuiName "English (Canada)"
279 # PolyglossiaName english
280 # PolyglossiaOpts "variant=canadian"
286 # not yet supported by polyglossia
288 GuiName "French (Canada)"
290 # PolyglossiaName french
291 # PolyglossiaOpts "variant=canadien"
300 PolyglossiaName catalan
301 PolyglossiaOpts "babelshorthands=true"
308 Language chinese-simplified
309 GuiName "Chinese (simplified)"
317 Language chinese-traditional
318 GuiName "Chinese (traditional)"
325 # not supported by babel
328 PolyglossiaName coptic
336 PolyglossiaName croatian
345 PolyglossiaName czech
354 PolyglossiaName danish
360 # not supported by babel
362 GuiName "Divehi (Maldivian)"
363 PolyglossiaName divehi
371 PolyglossiaName dutch
372 PolyglossiaOpts "babelshorthands=true"
381 PolyglossiaName english
387 # Esperanto has no country code because it is an auxiliary language.
388 # We therefore the name of its hunspell dictionary.
392 PolyglossiaName esperanto
401 PolyglossiaName estonian
406 \addto\extrasestonian{\bbl@deactivate{~}}
410 # the preamble definitions are only used due to bugs in the
411 # arabi-package -- remove them if they become unnecessary!
415 PolyglossiaName farsi
417 FontEncoding "LFE,LAE"
421 \DeclareTextSymbol{\guillemotright}{LFE}{62}
422 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
429 PolyglossiaName finnish
435 # We redefine \og and \fg (guillemets) for older french language definitions
439 PolyglossiaName french
444 \addto\extrasfrench{%
445 \providecommand{\og}{\leavevmode\flqq~}%
446 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
454 PolyglossiaName galician
459 \addto\shorthandsgalician{\galiciandeactivate{~}}
463 # german does not use a country code (due to the variety)
465 GuiName "German (old spelling)"
467 PolyglossiaName german
468 PolyglossiaOpts "spelling=old,babelshorthands=true"
478 PolyglossiaName german
479 PolyglossiaOpts "babelshorthands=true"
485 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
486 # We introduce it with LyX 2.2 to give the support time to settle.
487 # Polyglossia does not yet support Swiss German. We use ngerman for now.
489 GuiName "German (Switzerland)"
490 BabelName nswissgerman
491 PolyglossiaName german
492 PolyglossiaOpts "babelshorthands=true"
493 # PolyglossiaOpts "variant=swiss,babelshorthands=true"
499 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
500 # Polyglossia does not yet support Swiss German. We use german for now.
501 Language german-ch-old
502 GuiName "German (Switzerland, old spelling)"
503 BabelName swissgerman
504 PolyglossiaName german
505 PolyglossiaOpts "spelling=old,babelshorthands=true"
506 # PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
515 PolyglossiaName greek
518 InternalEncoding true
523 Language polutonikogreek
524 GuiName "Greek (polytonic)"
525 BabelName polutonikogreek
526 PolyglossiaName greek
527 PolyglossiaOpts "variant=polytonic"
530 InternalEncoding true
538 PolyglossiaName hebrew
541 InternalEncoding true
547 # not supported by babel
550 PolyglossiaName hindi
555 # Currently not supported (file format change!)
556 # "hungarian" is a synonym for the "magyar" babel language option
557 # "hungarian" might be used for special purposes,
558 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
560 # GuiName "Hungarian"
561 # BabelName hungarian
569 PolyglossiaName icelandic
575 # Interlingua has no official country code because it is an auxiliary
576 # language. We therefore the name of its hunspell dictionary.
578 GuiName "Interlingua"
579 BabelName interlingua
580 PolyglossiaName interlingua
588 PolyglossiaName irish
597 PolyglossiaName italian
603 # japanese must be loaded locally with babel options,
604 # not globally via class options
605 # http://www.lyx.org/trac/ticket/4597#c4
606 # Since japanese does not load fontenc, we set
607 # InternalEncoding to true.
615 InternalEncoding true
620 Language japanese-cjk
621 GuiName "Japanese (CJK)"
627 # not yet supported by polyglossia
628 # not supported by babel
635 \AtBeginDocument{\fontencoding{T2A}\selectfont}
647 # not yet supported by polyglossia
656 # not supported by babel
664 # There is no country code for Latin because it is a dead language.
665 # We therefore the name of its hunspell dictionary.
669 PolyglossiaName latin
674 # latvian must be loaded locally with babel options,
675 # not globally via class options
679 PolyglossiaName latvian
686 # lithuanian must be loaded locally with babel options,
687 # not globally via class options
691 PolyglossiaName lithuanian
698 Language lowersorbian
699 GuiName "Lower Sorbian"
700 BabelName lowersorbian
701 PolyglossiaName lsorbian
710 PolyglossiaName magyar
716 # not supported by babel
719 PolyglossiaName marathi
724 # mongolian must be loaded locally with babel options,
725 # not globally via class options
726 # not yet supported by polyglossia
736 GuiName "English (New Zealand)"
738 PolyglossiaName english
739 PolyglossiaOpts "variant=newzealand"
746 GuiName "Norwegian (Bokmaal)"
748 PolyglossiaName norsk
755 GuiName "Norwegian (Nynorsk)"
757 PolyglossiaName nynorsk
763 # not supported by babel
766 PolyglossiaName occitan
772 # Currently not supported (file format change!)
773 # Russian orthography from the Petrine orthographic reforms of
774 # 1708 to the 1917 orthographic reform
775 # Language oldrussian
776 # GuiName "Russian (Petrine orthography)"
777 # PolyglossiaName russian
778 # PolyglossiaOpts spelling=old
779 # LangCode ru_petr1708
785 PolyglossiaName polish
794 PolyglossiaName portuges
803 PolyglossiaName romanian
812 PolyglossiaName russian
816 InternalEncoding true
823 PolyglossiaName samin
828 # not supported by babel
831 PolyglossiaName sanskrit
839 PolyglossiaName scottish
848 PolyglossiaName serbian
855 Language serbian-latin
856 GuiName "Serbian (Latin)"
858 PolyglossiaName serbian
859 PolyglossiaOpts "script=latin"
868 PolyglossiaName slovak
877 PolyglossiaName slovenian
886 PolyglossiaName spanish
891 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
895 # there are no spanish shorthands in polyglossia
896 Language spanish-mexico
897 GuiName "Spanish (Mexico)"
899 PolyglossiaName spanish
904 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
911 PolyglossiaName swedish
917 # not supported by babel
920 # PolyglossiaName syriac
926 # not supported by babel
929 PolyglossiaName tamil
934 # not supported by babel
937 PolyglossiaName telugu
950 \usepackage{thswitch}
954 # not supported by babel
957 PolyglossiaName tibetan
965 PolyglossiaName turkish
974 # turkmen must be loaded locally with babel options,
975 # not globally via class options
979 PolyglossiaName turkmen
989 PolyglossiaName ukrainian
993 InternalEncoding true
997 Language uppersorbian
998 GuiName "Upper Sorbian"
999 BabelName uppersorbian
1000 PolyglossiaName usorbian
1006 # not supported by babel
1009 # PolyglossiaName urdu
1015 # vietnam must be loaded locally with babel options,
1016 # not globally via class options, see
1017 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1019 GuiName "Vietnamese"
1021 PolyglossiaName vietnamese
1032 PolyglossiaName welsh