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
29 # * Omitted elements will be treated as empty (if string) or "false"
31 # * Encoding is not relevant for XeTeX (which is utf8 always), and if
32 # Document > Settings > Language > Encoding is not set to "Language
34 # * InternalEncoding is used to tell LyX that babel internally sets a font
35 # encoding (such as hebrew to LHE). See bug #5091.
36 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
37 # globally to the class. Some languages (basically those not directly
38 # supported by babel) need this.
39 # FIXME: in this case, we might still need to pass the other languages
40 # globally, for the use of other packages (such as varioref).
41 # * LangCode is also used for spellchecking and thesaurus, where the
42 # dictionaries are named accordingly. Thus, check this when intoducing/
43 # changing language codes (especially aspell, thesaurus).
44 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
45 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
46 # http://www.w3.org/International/articles/language-tags/
47 # http://www.iana.org/assignments/language-subtag-registry
48 # * LangVariety is used by the aspell spellchecker to differentiate
49 # dictionaries for different varieties of a given language (e.g. German
50 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
51 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
52 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
54 ##########################################################################
57 # LyX-internal languages
63 PolyglossiaName ignore
78 # not yet supported by polyglossia
89 PolyglossiaName albanian
95 GuiName "English (USA)"
97 PolyglossiaName english
98 PolyglossiaOpts "variant=american"
103 # not supported by babel
104 Language ancientgreek
105 GuiName "Greek (ancient)"
106 PolyglossiaName greek
107 PolyglossiaOpts variant=ancient
112 # FIXME: dummy babel language for arabic_arabtex to be able
113 # to switch the language the way of the ArabTeX-package
114 Language arabic_arabtex
115 GuiName "Arabic (ArabTeX)"
122 # polyglossia uses "Arabic" for the lang environment
123 Language arabic_arabi
124 GuiName "Arabic (Arabi)"
126 PolyglossiaName arabic
132 # not supported by babel
135 PolyglossiaName armenian
141 GuiName "English (Australia)"
143 PolyglossiaName english
144 PolyglossiaOpts "variant=australian"
149 # not yet supported by polyglossia
151 GuiName "German (Austria, old spelling)"
157 # not yet supported by polyglossia
159 GuiName "German (Austria)"
168 PolyglossiaName bahasai
176 PolyglossiaName bahasam
184 PolyglossiaName basque
189 # not yet supported by polyglossia
198 GuiName "Portuguese (Brazil)"
200 PolyglossiaName brazil
208 PolyglossiaName breton
214 GuiName "English (UK)"
216 PolyglossiaName english
217 PolyglossiaOpts "variant=british"
225 PolyglossiaName bulgarian
230 # not yet supported by polyglossia
232 GuiName "English (Canada)"
234 # PolyglossiaName english
235 # PolyglossiaOpts "variant=canadian"
240 # not yet supported by polyglossia
242 GuiName "French (Canada)"
244 # PolyglossiaName french
245 # PolyglossiaOpts "variant=canadien"
253 PolyglossiaName catalan
254 PolyglossiaOpts "babelshorthands=true"
260 Language chinese-simplified
261 GuiName "Chinese (simplified)"
267 Language chinese-traditional
268 GuiName "Chinese (traditional)"
273 # not supported by babel
276 PolyglossiaName coptic
284 PolyglossiaName croatian
292 PolyglossiaName czech
300 PolyglossiaName danish
305 # not supported by babel
307 GuiName "Divehi (Maldivian)"
308 PolyglossiaName divehi
316 PolyglossiaName dutch
317 PolyglossiaOpts "babelshorthands=true"
325 PolyglossiaName english
330 # Esperanto has no country code because it is an auxiliary language.
331 # We therefore the name of its hunspell dictionary.
335 PolyglossiaName esperanto
343 PolyglossiaName estonian
348 # the preamble definitions are only used due to bugs in the
349 # arabi-package -- remove them if they become unnecessary!
353 PolyglossiaName farsi
358 \DeclareTextSymbol{\guillemotright}{LFE}{62}
359 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
366 PolyglossiaName finnish
371 # We redefine \og and \fg (guillemets) for older french language definitions
375 PolyglossiaName french
379 \addto\extrasfrench{%
380 \providecommand{\og}{\leavevmode\flqq~}%
381 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
389 PolyglossiaName galician
394 # german does not use a country code (due to the variety)
396 GuiName "German (old spelling)"
398 PolyglossiaName german
399 PolyglossiaOpts "spelling=old,babelshorthands=true"
408 PolyglossiaName german
409 PolyglossiaOpts "babelshorthands=true"
414 # Swiss German is not supported by babel and polyglossia yet
415 # We use ngerman for now (spellchecking is supported though!)
417 GuiName "German (Switzerland)"
419 PolyglossiaName german
420 PolyglossiaOpts "babelshorthands=true"
428 PolyglossiaName greek
430 InternalEncoding true
434 Language polutonikogreek
435 GuiName "Greek (polytonic)"
436 BabelName polutonikogreek
437 PolyglossiaName greek
438 PolyglossiaOpts "variant=polytonic"
440 InternalEncoding true
447 PolyglossiaName hebrew
449 InternalEncoding true
454 # not supported by babel
457 PolyglossiaName hindi
462 # Currently not supported (file format change!)
463 # "hungarian" is a synonym for the "magyar" babel language option
464 # "hungarian" might be used for special purposes,
465 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
467 # GuiName "Hungarian"
468 # BabelName hungarian
476 PolyglossiaName icelandic
481 # Interlingua has no official country code because it is an auxiliary
482 # language. We therefore the name of its hunspell dictionary.
484 GuiName "Interlingua"
485 BabelName interlingua
486 PolyglossiaName interlingua
494 PolyglossiaName irish
502 PolyglossiaName italian
507 # japanese must be loaded locally with babel options,
508 # not globally via class options
509 # http://www.lyx.org/trac/ticket/4597#c4
519 Language japanese-cjk
520 GuiName "Japanese (CJK)"
525 # not yet supported by polyglossia
539 # not supported by babel
542 PolyglossiaName kurmanji
547 # not supported by babel
555 # There is no country code for Latin because it is a dead language.
556 # We therefore the name of its hunspell dictionary.
560 PolyglossiaName latin
565 # latvian must be loaded locally with babel options,
566 # not globally via class options
570 PolyglossiaName latvian
576 # lithuanian must be loaded locally with babel options,
577 # not globally via class options
581 PolyglossiaName lithuanian
587 Language lowersorbian
588 GuiName "Lower Sorbian"
589 BabelName lowersorbian
590 PolyglossiaName lsorbian
598 PolyglossiaName magyar
603 # not supported by babel
606 PolyglossiaName marathi
611 # mongolian must be loaded locally with babel options,
612 # not globally via class options
613 # not yet supported by polyglossia
623 GuiName "English (New Zealand)"
625 PolyglossiaName english
626 PolyglossiaOpts "variant=newzealand"
632 GuiName "Norwegian (Bokmaal)"
634 PolyglossiaName norsk
640 GuiName "Norwegian (Nynorsk)"
642 PolyglossiaName nynorsk
647 # not supported by babel
650 PolyglossiaName occitan
655 # Currently not supported (file format change!)
656 # Russian orthography from the Petrine orthographic reforms of
657 # 1708 to the 1917 orthographic reform
658 # Language oldrussian
659 # GuiName "Russian (Petrine orthography)"
660 # PolyglossiaName russian
661 # PolyglossiaOpts spelling=old
662 # LangCode ru_petr1708
668 PolyglossiaName polish
676 PolyglossiaName portuges
684 PolyglossiaName romanian
692 PolyglossiaName russian
700 PolyglossiaName samin
705 # not supported by babel
708 PolyglossiaName sanskrit
716 PolyglossiaName scottish
724 PolyglossiaName serbian
729 Language serbian-latin
730 GuiName "Serbian (Latin)"
732 PolyglossiaName serbian
733 PolyglossiaOpts "script=latin"
741 PolyglossiaName slovak
749 PolyglossiaName slovenian
757 PolyglossiaName spanish
761 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
765 # there are no spanish shorthands in polyglossia
766 Language spanish-mexico
767 GuiName "Spanish (Mexico)"
769 PolyglossiaName spanish
773 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
780 PolyglossiaName swedish
785 # not supported by babel
788 PolyglossiaName syriac
793 # not supported by babel
796 PolyglossiaName tamil
801 # not supported by babel
804 PolyglossiaName telugu
816 \usepackage{thswitch}
823 PolyglossiaName turkish
831 # turkmen must be loaded locally with babel options,
832 # not globally via class options
836 PolyglossiaName turkmen
845 PolyglossiaName ukrainian
850 Language uppersorbian
851 GuiName "Upper Sorbian"
852 BabelName uppersorbian
853 PolyglossiaName usorbian
858 # not supported by babel
866 # vietnam must be loaded locally with babel options,
867 # not globally via class options, see
868 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
872 PolyglossiaName vietnamese
881 PolyglossiaName welsh