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 # not supported by babel
138 PolyglossiaName amharic
143 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
144 # We introduce it with LyX 2.2 to give the support time to settle.
145 Language ancientgreek
146 GuiName "Greek (ancient)"
149 \languageattribute{greek}{ancient}
151 PolyglossiaName greek
152 PolyglossiaOpts "variant=ancient"
155 InternalEncoding true
160 # FIXME: dummy babel language for arabic_arabtex to be able
161 # to switch the language the way of the ArabTeX-package
162 Language arabic_arabtex
163 GuiName "Arabic (ArabTeX)"
172 # polyglossia uses "Arabic" for the lang environment
173 Language arabic_arabi
174 GuiName "Arabic (Arabi)"
176 PolyglossiaName arabic
179 FontEncoding "LFE,LAE"
185 # not supported by babel
188 PolyglossiaName armenian
194 # not supported by babel
197 PolyglossiaName asturian
204 GuiName "English (Australia)"
206 PolyglossiaName english
207 PolyglossiaOpts "variant=australian"
213 # In polyglossia, this is supported since release 1.33.4 (May 2014)
214 # We introduce it with LyX 2.2 to give the support time to settle.
216 GuiName "German (Austria, old spelling)"
218 PolyglossiaName german
219 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
225 # In polyglossia, this is supported since release 1.33.4 (May 2014)
226 # We introduce it with LyX 2.2 to give the support time to settle.
228 GuiName "German (Austria)"
230 PolyglossiaName german
231 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
241 PolyglossiaName bahasai
250 PolyglossiaName bahasam
260 PolyglossiaName basque
265 \addto\extrasbasque{\bbl@deactivate{~}}
269 # not yet supported by polyglossia
279 # not yet supported by polyglossia
289 GuiName "Portuguese (Brazil)"
292 PolyglossiaName brazil
301 PolyglossiaName breton
308 GuiName "English (UK)"
310 PolyglossiaName english
311 PolyglossiaOpts "variant=british"
320 PolyglossiaName bulgarian
327 # not yet supported by polyglossia
329 GuiName "English (Canada)"
331 # PolyglossiaName english
332 # PolyglossiaOpts "variant=canadian"
338 # not yet supported by polyglossia
339 # Note: If polyglossia support gets implemented, french needs
340 # PolyglossiaOpts "variant=french"
342 GuiName "French (Canada)"
344 # PolyglossiaName french
345 # PolyglossiaOpts "variant=canadien"
355 PolyglossiaName catalan
356 PolyglossiaOpts "babelshorthands=true"
363 Language chinese-simplified
364 GuiName "Chinese (simplified)"
373 Language chinese-traditional
374 GuiName "Chinese (traditional)"
382 # not supported by babel
385 PolyglossiaName coptic
393 PolyglossiaName croatian
403 PolyglossiaName czech
413 PolyglossiaName danish
419 # not supported by babel
421 GuiName "Divehi (Maldivian)"
422 PolyglossiaName divehi
431 PolyglossiaName dutch
432 PolyglossiaOpts "babelshorthands=true"
442 PolyglossiaName english
443 PolyglossiaOpts "variant=american"
449 # Esperanto has no country code because it is an auxiliary language.
450 # We therefore the name of its hunspell dictionary.
454 PolyglossiaName esperanto
463 PolyglossiaName estonian
468 \addto\extrasestonian{\bbl@deactivate{~}}
472 # the preamble definitions are only used due to bugs in the
473 # arabi-package -- remove them if they become unnecessary!
477 PolyglossiaName farsi
479 FontEncoding "LFE,LAE"
483 \DeclareTextSymbol{\guillemotright}{LFE}{62}
484 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
492 PolyglossiaName finnish
498 # We redefine \og and \fg (guillemets) for older french language definitions
503 PolyglossiaName french
508 \addto\extrasfrench{%
509 \providecommand{\og}{\leavevmode\flqq~}%
510 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
519 PolyglossiaName friulan
529 PolyglossiaName galician
534 \addto\shorthandsgalician{\galiciandeactivate{~}}
547 # german does not use a country code (due to the variety)
549 GuiName "German (old spelling)"
551 PolyglossiaName german
552 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
563 PolyglossiaName german
564 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
570 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
571 # We introduce it with LyX 2.2 to give the support time to settle.
572 # In polyglossia, this is supported since release 1.33.6 (May 2015)
573 # We introduce it with LyX 2.3 to give the support time to settle.
575 GuiName "German (Switzerland)"
576 BabelName nswissgerman
577 PolyglossiaName german
578 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
584 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
585 # In polyglossia, this is supported since release 1.33.6 (May 2015)
586 # We introduce it with LyX 2.3 to give the support time to settle.
587 Language german-ch-old
588 GuiName "German (Switzerland, old spelling)"
589 BabelName swissgerman
590 PolyglossiaName german
591 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
601 PolyglossiaName greek
602 PolyglossiaOpts "variant=monotonic"
605 InternalEncoding true
610 Language polutonikogreek
611 GuiName "Greek (polytonic)"
612 BabelName polutonikogreek
613 PolyglossiaName greek
614 PolyglossiaOpts "variant=polytonic"
617 InternalEncoding true
626 PolyglossiaName hebrew
629 InternalEncoding true
630 # Hebrew babel loads the font encodings
631 # itself in the appropriate order
637 # not supported by babel
640 PolyglossiaName hindi
645 # Currently not supported (file format change!)
646 # "hungarian" is a synonym for the "magyar" babel language option
647 # "hungarian" might be used for special purposes,
648 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
650 # GuiName "Hungarian"
651 # BabelName hungarian
659 PolyglossiaName icelandic
665 # Interlingua has no official country code because it is an auxiliary
666 # language. We therefore the name of its hunspell dictionary.
668 GuiName "Interlingua"
670 BabelName interlingua
671 PolyglossiaName interlingua
679 PolyglossiaName irish
689 PolyglossiaName italian
695 # japanese must be loaded locally with babel options,
696 # not globally via class options
697 # http://www.lyx.org/trac/ticket/4597#c4
698 # Since japanese does not load fontenc, we set
699 # InternalEncoding to true.
708 InternalEncoding true
713 Language japanese-cjk
714 GuiName "Japanese (CJK)"
720 # not supported by babel
723 PolyglossiaName kannada
728 # not yet supported by polyglossia
729 # not supported by babel
736 \AtBeginDocument{\fontencoding{T2A}\selectfont}
740 # not supported by babel
743 PolyglossiaName khmer
756 # not yet supported by polyglossia
765 # not supported by babel
773 # There is no country code for Latin because it is a dead language.
774 # We therefore the name of its hunspell dictionary.
778 PolyglossiaName latin
783 # latvian must be loaded locally with babel options,
784 # not globally via class options
788 PolyglossiaName latvian
791 # FontEncoding L7x # (required for hyphenation but not set by babel)
796 # lithuanian must be loaded locally with babel options,
797 # not globally via class options
801 PolyglossiaName lithuanian
809 Language lowersorbian
810 GuiName "Lower Sorbian"
811 BabelName lowersorbian
812 PolyglossiaName lsorbian
822 PolyglossiaName magyar
828 # not yet supported by polyglossia
838 # not supported by babel
841 PolyglossiaName marathi
846 # mongolian must be loaded locally with babel options,
847 # not globally via class options
848 # not yet supported by polyglossia
859 GuiName "English (New Zealand)"
861 PolyglossiaName english
862 PolyglossiaOpts "variant=newzealand"
869 GuiName "Norwegian (Bokmaal)"
872 PolyglossiaName norsk
879 GuiName "Norwegian (Nynorsk)"
882 PolyglossiaName nynorsk
888 # not supported by babel
891 PolyglossiaName occitan
897 # Currently not supported (file format change!)
898 # Russian orthography from the Petrine orthographic reforms of
899 # 1708 to the 1917 orthographic reform
900 # Note: If this is enabled, russian needs to get
901 # PolyglossiaOpts "spelling=modern"
902 # Language oldrussian
903 # GuiName "Russian (Petrine orthography)"
904 # PolyglossiaName russian
905 # PolyglossiaOpts "spelling=old"
906 # LangCode ru_petr1708
910 GuiName "Piedmontese"
912 BabelName piedmontese
913 PolyglossiaName piedmontese
923 PolyglossiaName polish
926 # FontEncoding QX # (required for hyphenation but not set by babel)
934 PolyglossiaName portuges
944 PolyglossiaName romanian
954 PolyglossiaName romansh
964 PolyglossiaName russian
974 PolyglossiaName samin
979 # not supported by babel
982 PolyglossiaName sanskrit
990 PolyglossiaName scottish
996 # Note: script option is uppercase, even if the polyglossia
997 # manual states otherwise.
1002 PolyglossiaName serbian
1003 PolyglossiaOpts "script=Cyrillic"
1011 # Note: script option is uppercase, even if the polyglossia
1012 # manual states otherwise.
1013 Language serbian-latin
1014 GuiName "Serbian (Latin)"
1016 PolyglossiaName serbian
1017 PolyglossiaOpts "script=Latin"
1020 LangCode sr_RS-Latin
1027 PolyglossiaName slovak
1036 PolyglossiaName slovenian
1046 PolyglossiaName spanish
1051 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1052 EndPostBabelPreamble
1055 # there are no spanish shorthands in polyglossia
1056 Language spanish-mexico
1057 GuiName "Spanish (Mexico)"
1059 PolyglossiaName spanish
1064 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1065 EndPostBabelPreamble
1072 PolyglossiaName swedish
1078 # not supported by babel
1081 PolyglossiaName syriac
1087 # not supported by babel
1090 PolyglossiaName tamil
1095 # not supported by babel
1098 PolyglossiaName telugu
1106 PolyglossiaName thai
1112 \usepackage{thswitch}
1113 EndPostBabelPreamble
1116 # not supported by babel
1119 PolyglossiaName tibetan
1128 PolyglossiaName turkish
1133 \usepackage{xkeyval}
1134 EndPostBabelPreamble
1137 # turkmen must be loaded locally with babel options,
1138 # not globally via class options
1142 PolyglossiaName turkmen
1153 PolyglossiaName ukrainian
1160 Language uppersorbian
1161 GuiName "Upper Sorbian"
1162 BabelName uppersorbian
1163 PolyglossiaName usorbian
1169 # not supported by babel
1172 PolyglossiaName urdu
1178 # vietnam must be loaded locally with babel options,
1179 # not globally via class options, see
1180 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1182 GuiName "Vietnamese"
1184 PolyglossiaName vietnamese
1195 PolyglossiaName welsh