1 ##########################################################################
3 # Languages supported by LyX.
9 # BabelName <babelname>
10 # PolyglossiaName <polyglossianame>
11 # PolyglossiaOpts "<language-specific options>"
13 # QuoteStyle <danish|english|french|german|polish|swedish>
14 # InternalEncoding <true|false>
16 # AsBabelOptions <true|false>
17 # LangCode <language_code>
18 # LangVariety <language_variety>
20 # <extra latex code inserted before babel>
23 # <extra latex code inserted after babel>
24 # EndPostBabelPreamble
25 # Requires <requirement>
31 # * Omitted elements will be treated as empty (if string) or "false"
33 # * The QuoteStyle arguments correspond to the following styles:
34 # - danish: >>text<< >text< (inward guillemets)
35 # - english: ``text'' `text' (66_99)
36 # - french: <<text>> <text> (outward guillemets)
37 # - german: ,,text`` ,text` (99/66)
38 # - polish: ,,text'' ,text' (99/99)
39 # - swedish: ''text'' 'text' (99_99)
40 # Note that the option names have been selected (rather arbitrarily)
41 # because the respective styles are common in the respective countries.
42 # Of course this does not imply any fixed relation to those countries.
43 # * Encoding is not relevant for XeTeX (which is utf8 always), and if
44 # Document > Settings > Language > Encoding is not set to "Language
46 # * InternalEncoding is used to tell LyX that babel internally sets a font
47 # encoding (such as hebrew to LHE). See bug #5091.
48 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
49 # globally to the class. Some languages (basically those not directly
50 # supported by babel) need this.
51 # FIXME: in this case, we might still need to pass the other languages
52 # globally, for the use of other packages (such as varioref).
53 # * LangCode is also used for spellchecking and thesaurus, where the
54 # dictionaries are named accordingly. Thus, check this when intoducing/
55 # changing language codes (especially aspell, thesaurus).
56 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
57 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
58 # http://www.w3.org/International/articles/language-tags/
59 # http://www.iana.org/assignments/language-subtag-registry
60 # * LangVariety is used by the aspell spellchecker to differentiate
61 # dictionaries for different varieties of a given language (e.g. German
62 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
63 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
64 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
66 ##########################################################################
69 # LyX-internal languages
75 PolyglossiaName ignore
90 # not yet supported by polyglossia
102 PolyglossiaName albanian
109 GuiName "English (USA)"
111 PolyglossiaName english
112 PolyglossiaOpts "variant=american"
118 # not supported by babel
119 Language ancientgreek
120 GuiName "Greek (ancient)"
121 PolyglossiaName greek
122 PolyglossiaOpts variant=ancient
128 # FIXME: dummy babel language for arabic_arabtex to be able
129 # to switch the language the way of the ArabTeX-package
130 Language arabic_arabtex
131 GuiName "Arabic (ArabTeX)"
139 # polyglossia uses "Arabic" for the lang environment
140 Language arabic_arabi
141 GuiName "Arabic (Arabi)"
143 PolyglossiaName arabic
151 # not supported by babel
154 PolyglossiaName armenian
161 GuiName "English (Australia)"
163 PolyglossiaName english
164 PolyglossiaOpts "variant=australian"
170 # In polyglossia, this is supported since release 1.33.4 (May 2014)
171 # We introduce it with LyX 2.2 to give the support time to settle.
173 GuiName "German (Austria, old spelling)"
175 PolyglossiaName german
176 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
182 # In polyglossia, this is supported since release 1.33.4 (May 2014)
183 # We introduce it with LyX 2.2 to give the support time to settle.
185 GuiName "German (Austria)"
187 PolyglossiaName german
188 PolyglossiaOpts "variant=austrian,babelshorthands=true"
197 PolyglossiaName bahasai
206 PolyglossiaName bahasam
215 PolyglossiaName basque
220 \addto\extrasbasque{\bbl@deactivate{~}}
224 # not yet supported by polyglossia
235 GuiName "Portuguese (Brazil)"
237 PolyglossiaName brazil
246 PolyglossiaName breton
253 GuiName "English (UK)"
255 PolyglossiaName english
256 PolyglossiaOpts "variant=british"
265 PolyglossiaName bulgarian
271 # not yet supported by polyglossia
273 GuiName "English (Canada)"
275 # PolyglossiaName english
276 # PolyglossiaOpts "variant=canadian"
282 # not yet supported by polyglossia
284 GuiName "French (Canada)"
286 # PolyglossiaName french
287 # PolyglossiaOpts "variant=canadien"
296 PolyglossiaName catalan
297 PolyglossiaOpts "babelshorthands=true"
304 Language chinese-simplified
305 GuiName "Chinese (simplified)"
313 Language chinese-traditional
314 GuiName "Chinese (traditional)"
321 # not supported by babel
324 PolyglossiaName coptic
332 PolyglossiaName croatian
341 PolyglossiaName czech
350 PolyglossiaName danish
356 # not supported by babel
358 GuiName "Divehi (Maldivian)"
359 PolyglossiaName divehi
367 PolyglossiaName dutch
368 PolyglossiaOpts "babelshorthands=true"
377 PolyglossiaName english
383 # Esperanto has no country code because it is an auxiliary language.
384 # We therefore the name of its hunspell dictionary.
388 PolyglossiaName esperanto
397 PolyglossiaName estonian
402 \addto\extrasestonian{\bbl@deactivate{~}}
406 # the preamble definitions are only used due to bugs in the
407 # arabi-package -- remove them if they become unnecessary!
411 PolyglossiaName farsi
416 \DeclareTextSymbol{\guillemotright}{LFE}{62}
417 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
424 PolyglossiaName finnish
430 # We redefine \og and \fg (guillemets) for older french language definitions
434 PolyglossiaName french
439 \addto\extrasfrench{%
440 \providecommand{\og}{\leavevmode\flqq~}%
441 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
449 PolyglossiaName galician
454 \addto\shorthandsgalician{\galiciandeactivate{~}}
458 # german does not use a country code (due to the variety)
460 GuiName "German (old spelling)"
462 PolyglossiaName german
463 PolyglossiaOpts "spelling=old,babelshorthands=true"
473 PolyglossiaName german
474 PolyglossiaOpts "babelshorthands=true"
480 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
481 # We introduce it with LyX 2.2 to give the support time to settle.
482 # Polyglossia does not yet support Swiss German. We use ngerman for now.
484 GuiName "German (Switzerland)"
485 BabelName nswissgerman
486 PolyglossiaName german
487 PolyglossiaOpts "babelshorthands=true"
488 # PolyglossiaOpts "variant=swiss,babelshorthands=true"
494 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
495 # Polyglossia does not yet support Swiss German. We use german for now.
496 Language german-ch-old
497 GuiName "German (Switzerland, old spelling)"
498 BabelName swissgerman
499 PolyglossiaName german
500 PolyglossiaOpts "spelling=old,babelshorthands=true"
501 # PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
510 PolyglossiaName greek
513 InternalEncoding true
517 Language polutonikogreek
518 GuiName "Greek (polytonic)"
519 BabelName polutonikogreek
520 PolyglossiaName greek
521 PolyglossiaOpts "variant=polytonic"
524 InternalEncoding true
531 PolyglossiaName hebrew
534 InternalEncoding true
539 # not supported by babel
542 PolyglossiaName hindi
547 # Currently not supported (file format change!)
548 # "hungarian" is a synonym for the "magyar" babel language option
549 # "hungarian" might be used for special purposes,
550 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
552 # GuiName "Hungarian"
553 # BabelName hungarian
561 PolyglossiaName icelandic
567 # Interlingua has no official country code because it is an auxiliary
568 # language. We therefore the name of its hunspell dictionary.
570 GuiName "Interlingua"
571 BabelName interlingua
572 PolyglossiaName interlingua
580 PolyglossiaName irish
589 PolyglossiaName italian
595 # japanese must be loaded locally with babel options,
596 # not globally via class options
597 # http://www.lyx.org/trac/ticket/4597#c4
598 # Since japanese does not load fontenc, we set
599 # InternalEncoding to true.
607 InternalEncoding true
611 Language japanese-cjk
612 GuiName "Japanese (CJK)"
618 # not yet supported by polyglossia
619 # not supported by babel
626 \AtBeginDocument{\fontencoding{T2A}\selectfont}
638 # not yet supported by polyglossia
647 # not supported by babel
655 # There is no country code for Latin because it is a dead language.
656 # We therefore the name of its hunspell dictionary.
660 PolyglossiaName latin
665 # latvian must be loaded locally with babel options,
666 # not globally via class options
670 PolyglossiaName latvian
677 # lithuanian must be loaded locally with babel options,
678 # not globally via class options
682 PolyglossiaName lithuanian
689 Language lowersorbian
690 GuiName "Lower Sorbian"
691 BabelName lowersorbian
692 PolyglossiaName lsorbian
701 PolyglossiaName magyar
707 # not supported by babel
710 PolyglossiaName marathi
715 # mongolian must be loaded locally with babel options,
716 # not globally via class options
717 # not yet supported by polyglossia
727 GuiName "English (New Zealand)"
729 PolyglossiaName english
730 PolyglossiaOpts "variant=newzealand"
737 GuiName "Norwegian (Bokmaal)"
739 PolyglossiaName norsk
746 GuiName "Norwegian (Nynorsk)"
748 PolyglossiaName nynorsk
754 # not supported by babel
757 PolyglossiaName occitan
763 # Currently not supported (file format change!)
764 # Russian orthography from the Petrine orthographic reforms of
765 # 1708 to the 1917 orthographic reform
766 # Language oldrussian
767 # GuiName "Russian (Petrine orthography)"
768 # PolyglossiaName russian
769 # PolyglossiaOpts spelling=old
770 # LangCode ru_petr1708
776 PolyglossiaName polish
785 PolyglossiaName portuges
794 PolyglossiaName romanian
803 PolyglossiaName russian
812 PolyglossiaName samin
817 # not supported by babel
820 PolyglossiaName sanskrit
828 PolyglossiaName scottish
837 PolyglossiaName serbian
844 Language serbian-latin
845 GuiName "Serbian (Latin)"
847 PolyglossiaName serbian
848 PolyglossiaOpts "script=latin"
857 PolyglossiaName slovak
866 PolyglossiaName slovenian
875 PolyglossiaName spanish
880 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
884 # there are no spanish shorthands in polyglossia
885 Language spanish-mexico
886 GuiName "Spanish (Mexico)"
888 PolyglossiaName spanish
893 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
900 PolyglossiaName swedish
906 # not supported by babel
909 # PolyglossiaName syriac
915 # not supported by babel
918 PolyglossiaName tamil
923 # not supported by babel
926 PolyglossiaName telugu
939 \usepackage{thswitch}
943 # not supported by babel
946 PolyglossiaName tibetan
954 PolyglossiaName turkish
963 # turkmen must be loaded locally with babel options,
964 # not globally via class options
968 PolyglossiaName turkmen
978 PolyglossiaName ukrainian
984 Language uppersorbian
985 GuiName "Upper Sorbian"
986 BabelName uppersorbian
987 PolyglossiaName usorbian
993 # not supported by babel
996 # PolyglossiaName urdu
1002 # vietnam must be loaded locally with babel options,
1003 # not globally via class options, see
1004 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1006 GuiName "Vietnamese"
1008 PolyglossiaName vietnamese
1019 PolyglossiaName welsh