1 ##########################################################################
3 # Languages supported by LyX.
9 # HasGuiSupport <true|false>
10 # BabelName <babelname>
11 # PolyglossiaName <polyglossianame>
12 # PolyglossiaOpts "<language-specific options>"
14 # FontEncoding <font encoding>
15 # QuoteStyle <danish|english|french|german|polish|swedish>
16 # InternalEncoding <true|false>
18 # AsBabelOptions <true|false>
19 # LangCode <language_code>
20 # LangVariety <language_variety>
22 # <extra latex code inserted before babel>
25 # <extra latex code inserted after babel>
26 # EndPostBabelPreamble
27 # Requires <requirement>
33 # * If we provide Polyglossia languages with different options, the default
34 # options (such as "variant=american", "spelling=modern") should be
35 # explicitely spelled out (in order to provide mixing of such variants).
36 # * Omitted elements will be treated as empty (if string) or "false"
38 # * When HasGuiSupport is true, the language is candidate to appear in
39 # the list of possible GUI languages in the Preferences dialog. It
40 # will actually appear there only if a corresponding .mo file can be
41 # found among the translations. When several languages correspond to
42 # the same translation -- like English, English (US) and English
43 # (UK) -- try to select the entry that is most generic -- here
45 # * The QuoteStyle arguments correspond to the following styles:
46 # - danish: >>text<< >text< (inward guillemets)
47 # - english: ``text'' `text' (66_99)
48 # - french: <<text>> <text> (outward guillemets)
49 # - german: ,,text`` ,text` (99/66)
50 # - polish: ,,text'' ,text' (99/99)
51 # - swedish: ''text'' 'text' (99_99)
52 # Note that the option names have been selected (rather arbitrarily)
53 # because the respective styles are common in the respective countries.
54 # Of course this does not imply any fixed relation to those countries.
55 # * Encoding is the default encoding used with TeX fonts.
56 # It is only used if Document > Settings > Language > Encoding
57 # is set to "Language Default" and "use non-TeX fonts" is FALSE.
58 # * InternalEncoding is used to tell LyX that babel internally sets a
59 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
60 # If True, LyX cares for characters/macros that do not exist in
61 # some font encodings ("<", ">", "|" and straight quote).
62 # It is not required for standard encodings like T2A. See bug #5091.
63 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
65 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
66 # globally to the class. Some languages (basically those not directly
67 # supported by babel) need this.
68 # FIXME: in this case, we might still need to pass the other languages
69 # globally, for the use of other packages (such as varioref).
70 # * LangCode is also used for spellchecking and thesaurus, where the
71 # dictionaries are named accordingly. Thus, check this when introducing/
72 # changing language codes (especially aspell, thesaurus).
73 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
74 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
75 # http://www.w3.org/International/articles/language-tags/
76 # http://www.iana.org/assignments/language-subtag-registry
77 # * LangVariety is used by the aspell spellchecker to differentiate
78 # dictionaries for different varieties of a given language (e.g. German
79 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
80 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
81 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
83 ##########################################################################
86 # LyX-internal languages
92 PolyglossiaName ignore
107 # not yet supported by polyglossia
119 PolyglossiaName albanian
126 GuiName "English (USA)"
128 PolyglossiaName english
129 PolyglossiaOpts "variant=american"
135 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
136 # We introduce it with LyX 2.2 to give the support time to settle.
137 Language ancientgreek
138 GuiName "Greek (ancient)"
141 \languageattribute{greek}{ancient}
143 PolyglossiaName greek
144 PolyglossiaOpts "variant=ancient"
147 InternalEncoding true
152 # FIXME: dummy babel language for arabic_arabtex to be able
153 # to switch the language the way of the ArabTeX-package
154 Language arabic_arabtex
155 GuiName "Arabic (ArabTeX)"
164 # polyglossia uses "Arabic" for the lang environment
165 Language arabic_arabi
166 GuiName "Arabic (Arabi)"
168 PolyglossiaName arabic
171 FontEncoding "LFE,LAE"
177 # not supported by babel
180 PolyglossiaName armenian
187 GuiName "English (Australia)"
189 PolyglossiaName english
190 PolyglossiaOpts "variant=australian"
196 # In polyglossia, this is supported since release 1.33.4 (May 2014)
197 # We introduce it with LyX 2.2 to give the support time to settle.
199 GuiName "German (Austria, old spelling)"
201 PolyglossiaName german
202 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
208 # In polyglossia, this is supported since release 1.33.4 (May 2014)
209 # We introduce it with LyX 2.2 to give the support time to settle.
211 GuiName "German (Austria)"
213 PolyglossiaName german
214 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
224 PolyglossiaName bahasai
233 PolyglossiaName bahasam
243 PolyglossiaName basque
248 \addto\extrasbasque{\bbl@deactivate{~}}
252 # not yet supported by polyglossia
263 GuiName "Portuguese (Brazil)"
266 PolyglossiaName brazil
275 PolyglossiaName breton
282 GuiName "English (UK)"
284 PolyglossiaName english
285 PolyglossiaOpts "variant=british"
294 PolyglossiaName bulgarian
301 # not yet supported by polyglossia
303 GuiName "English (Canada)"
305 # PolyglossiaName english
306 # PolyglossiaOpts "variant=canadian"
312 # not yet supported by polyglossia
313 # Note: If polyglossia support gets implemented, french needs
314 # PolyglossiaOpts "variant=french"
316 GuiName "French (Canada)"
318 # PolyglossiaName french
319 # PolyglossiaOpts "variant=canadien"
329 PolyglossiaName catalan
330 PolyglossiaOpts "babelshorthands=true"
337 Language chinese-simplified
338 GuiName "Chinese (simplified)"
347 Language chinese-traditional
348 GuiName "Chinese (traditional)"
356 # not supported by babel
359 PolyglossiaName coptic
367 PolyglossiaName croatian
377 PolyglossiaName czech
387 PolyglossiaName danish
393 # not supported by babel
395 GuiName "Divehi (Maldivian)"
396 PolyglossiaName divehi
405 PolyglossiaName dutch
406 PolyglossiaOpts "babelshorthands=true"
416 PolyglossiaName english
417 PolyglossiaOpts "variant=american"
423 # Esperanto has no country code because it is an auxiliary language.
424 # We therefore the name of its hunspell dictionary.
428 PolyglossiaName esperanto
437 PolyglossiaName estonian
442 \addto\extrasestonian{\bbl@deactivate{~}}
446 # the preamble definitions are only used due to bugs in the
447 # arabi-package -- remove them if they become unnecessary!
451 PolyglossiaName farsi
453 FontEncoding "LFE,LAE"
457 \DeclareTextSymbol{\guillemotright}{LFE}{62}
458 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
466 PolyglossiaName finnish
472 # We redefine \og and \fg (guillemets) for older french language definitions
477 PolyglossiaName french
482 \addto\extrasfrench{%
483 \providecommand{\og}{\leavevmode\flqq~}%
484 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
493 PolyglossiaName galician
498 \addto\shorthandsgalician{\galiciandeactivate{~}}
511 # german does not use a country code (due to the variety)
513 GuiName "German (old spelling)"
515 PolyglossiaName german
516 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
527 PolyglossiaName german
528 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
534 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
535 # We introduce it with LyX 2.2 to give the support time to settle.
536 # In polyglossia, this is supported since release 1.33.6 (May 2015)
537 # We use german until TL 2015 is out, though.
539 GuiName "German (Switzerland)"
540 BabelName nswissgerman
541 PolyglossiaName german
542 PolyglossiaOpts "babelshorthands=true"
543 # PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
549 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
550 # In polyglossia, this is supported since release 1.33.6 (May 2015)
551 # We use ngerman until TL 2015 is out, though.
552 Language german-ch-old
553 GuiName "German (Switzerland, old spelling)"
554 BabelName swissgerman
555 PolyglossiaName german
556 PolyglossiaOpts "spelling=old,babelshorthands=true"
557 # PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
567 PolyglossiaName greek
568 PolyglossiaOpts "variant=monotonic"
571 InternalEncoding true
576 Language polutonikogreek
577 GuiName "Greek (polytonic)"
578 BabelName polutonikogreek
579 PolyglossiaName greek
580 PolyglossiaOpts "variant=polytonic"
583 InternalEncoding true
592 PolyglossiaName hebrew
595 InternalEncoding true
596 # Hebrew babel loads the font encodings
597 # itself in the appropriate order
603 # not supported by babel
606 PolyglossiaName hindi
611 # Currently not supported (file format change!)
612 # "hungarian" is a synonym for the "magyar" babel language option
613 # "hungarian" might be used for special purposes,
614 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
616 # GuiName "Hungarian"
617 # BabelName hungarian
625 PolyglossiaName icelandic
631 # Interlingua has no official country code because it is an auxiliary
632 # language. We therefore the name of its hunspell dictionary.
634 GuiName "Interlingua"
636 BabelName interlingua
637 PolyglossiaName interlingua
645 PolyglossiaName irish
655 PolyglossiaName italian
661 # japanese must be loaded locally with babel options,
662 # not globally via class options
663 # http://www.lyx.org/trac/ticket/4597#c4
664 # Since japanese does not load fontenc, we set
665 # InternalEncoding to true.
674 InternalEncoding true
679 Language japanese-cjk
680 GuiName "Japanese (CJK)"
686 # not yet supported by polyglossia
687 # not supported by babel
694 \AtBeginDocument{\fontencoding{T2A}\selectfont}
706 # not yet supported by polyglossia
715 # not supported by babel
723 # There is no country code for Latin because it is a dead language.
724 # We therefore the name of its hunspell dictionary.
728 PolyglossiaName latin
733 # latvian must be loaded locally with babel options,
734 # not globally via class options
738 PolyglossiaName latvian
741 # FontEncoding L7x # (required for hyphenation but not set by babel)
746 # lithuanian must be loaded locally with babel options,
747 # not globally via class options
751 PolyglossiaName lithuanian
759 Language lowersorbian
760 GuiName "Lower Sorbian"
761 BabelName lowersorbian
762 PolyglossiaName lsorbian
772 PolyglossiaName magyar
778 # not supported by babel
781 PolyglossiaName marathi
786 # mongolian must be loaded locally with babel options,
787 # not globally via class options
788 # not yet supported by polyglossia
799 GuiName "English (New Zealand)"
801 PolyglossiaName english
802 PolyglossiaOpts "variant=newzealand"
809 GuiName "Norwegian (Bokmaal)"
812 PolyglossiaName norsk
819 GuiName "Norwegian (Nynorsk)"
822 PolyglossiaName nynorsk
828 # not supported by babel
831 PolyglossiaName occitan
837 # Currently not supported (file format change!)
838 # Russian orthography from the Petrine orthographic reforms of
839 # 1708 to the 1917 orthographic reform
840 # Note: If this is enabled, russian needs to get
841 # PolyglossiaOpts "spelling=modern"
842 # Language oldrussian
843 # GuiName "Russian (Petrine orthography)"
844 # PolyglossiaName russian
845 # PolyglossiaOpts spelling=old
846 # LangCode ru_petr1708
853 PolyglossiaName polish
856 # FontEncoding QX # (required for hyphenation but not set by babel)
864 PolyglossiaName portuges
874 PolyglossiaName romanian
884 PolyglossiaName russian
894 PolyglossiaName samin
899 # not supported by babel
902 PolyglossiaName sanskrit
910 PolyglossiaName scottish
916 # Note: script option is uppercase, even if the polyglossia
917 # manual states otherwise.
922 PolyglossiaName serbian
923 PolyglossiaOpts "script=Cyrillic"
931 # Note: script option is uppercase, even if the polyglossia
932 # manual states otherwise.
933 Language serbian-latin
934 GuiName "Serbian (Latin)"
936 PolyglossiaName serbian
937 PolyglossiaOpts "script=Latin"
947 PolyglossiaName slovak
956 PolyglossiaName slovenian
966 PolyglossiaName spanish
971 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
975 # there are no spanish shorthands in polyglossia
976 Language spanish-mexico
977 GuiName "Spanish (Mexico)"
979 PolyglossiaName spanish
984 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
992 PolyglossiaName swedish
998 # not supported by babel
1001 # PolyglossiaName syriac
1007 # not supported by babel
1010 PolyglossiaName tamil
1015 # not supported by babel
1018 PolyglossiaName telugu
1026 PolyglossiaName thai
1032 \usepackage{thswitch}
1033 EndPostBabelPreamble
1036 # not supported by babel
1039 PolyglossiaName tibetan
1048 PolyglossiaName turkish
1053 \usepackage{xkeyval}
1054 EndPostBabelPreamble
1057 # turkmen must be loaded locally with babel options,
1058 # not globally via class options
1062 PolyglossiaName turkmen
1073 PolyglossiaName ukrainian
1080 Language uppersorbian
1081 GuiName "Upper Sorbian"
1082 BabelName uppersorbian
1083 PolyglossiaName usorbian
1089 # not supported by babel
1092 # PolyglossiaName urdu
1098 # vietnam must be loaded locally with babel options,
1099 # not globally via class options, see
1100 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1102 GuiName "Vietnamese"
1104 PolyglossiaName vietnamese
1115 PolyglossiaName welsh