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 <british|danish|english|french|frenchin|
16 # german|polish|russian|swedish|swedishg|swiss|plain>
17 # InternalEncoding <true|false>
19 # AsBabelOptions <true|false>
20 # LangCode <language_code>
21 # LangVariety <language_variety>
23 # <extra latex code inserted before babel>
26 # <extra latex code inserted after babel>
27 # EndPostBabelPreamble
28 # Requires <requirement>
34 # * If we provide Polyglossia languages with different options, the default
35 # options (such as "variant=american", "spelling=modern") should be
36 # explicitely spelled out (in order to provide mixing of such variants).
37 # * Omitted elements will be treated as empty (if string) or "false"
39 # * When HasGuiSupport is true, the language is candidate to appear in
40 # the list of possible GUI languages in the Preferences dialog. It
41 # will actually appear there only if a corresponding .mo file can be
42 # found among the translations. When several languages correspond to
43 # the same translation -- like English, English (US) and English
44 # (UK) -- try to select the entry that is most generic -- here
46 # * The QuoteStyle arguments correspond to the following styles:
48 # - british: `text' ``text'' (6_9 -- 66_99)
49 # - danish: >>text<< >text< (inward guillemets)
50 # - english: ``text'' `text' (66_99 -- 6_9)
51 # - french: <<text>> ``text'' (outward guillemets -- 66_99)
52 # - frenchin: <<text>> <<text>> (French Imprimerie Nationale style)
53 # - german: ,,text`` ,text` (99/66 -- 9/6)
54 # - polish: ,,text'' ,text' (99/99 -- 9/9)
55 # - russian: <<text>> ,,text`` (outward guillemets -- 99/66)
56 # - swedish: ''text'' 'text' (99_99 -- 9_9)
57 # - swedishg: >>text>> 'text' (Swedish Guillemets)
58 # - swiss: <<text>> <text> (outward guillemets)
59 # - plain: "text" 'text' (non-typographical quotes)
60 # Note that the option names have been selected (rather arbitrarily)
61 # because the respective styles are common in the respective countries.
62 # Of course this does not imply any fixed relation to those countries.
63 # * Encoding is the default encoding used with TeX fonts.
64 # It is only used if Document > Settings > Language > Encoding
65 # is set to "Language Default" and "use non-TeX fonts" is FALSE.
66 # * InternalEncoding is used to tell LyX that babel internally sets a
67 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
68 # If True, LyX cares for characters/macros that do not exist in
69 # some font encodings ("<", ">", "|" and straight quote).
70 # It is not required for standard encodings like T2A. See bug #5091.
71 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
73 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
74 # globally to the class. Some languages (basically those not directly
75 # supported by babel) need this.
76 # FIXME: in this case, we might still need to pass the other languages
77 # globally, for the use of other packages (such as varioref).
78 # * LangCode is also used for spellchecking and thesaurus, where the
79 # dictionaries are named accordingly. Thus, check this when introducing/
80 # changing language codes (especially aspell, thesaurus).
81 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
82 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
83 # http://www.w3.org/International/articles/language-tags/
84 # http://www.iana.org/assignments/language-subtag-registry
85 # * LangVariety is used by the aspell spellchecker to differentiate
86 # dictionaries for different varieties of a given language (e.g. German
87 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
88 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
89 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
91 ##########################################################################
94 # LyX-internal languages
100 PolyglossiaName ignore
115 # not yet supported by polyglossia
127 PolyglossiaName albanian
134 GuiName "English (USA)"
136 PolyglossiaName english
137 PolyglossiaOpts "variant=american"
143 # not supported by babel
146 PolyglossiaName amharic
151 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
152 # We introduce it with LyX 2.2 to give the support time to settle.
153 Language ancientgreek
154 GuiName "Greek (ancient)"
157 \languageattribute{greek}{ancient}
159 PolyglossiaName greek
160 PolyglossiaOpts "variant=ancient"
163 InternalEncoding true
168 # FIXME: dummy babel language for arabic_arabtex to be able
169 # to switch the language the way of the ArabTeX-package
170 Language arabic_arabtex
171 GuiName "Arabic (ArabTeX)"
180 # polyglossia uses "Arabic" for the lang environment
181 Language arabic_arabi
182 GuiName "Arabic (Arabi)"
184 PolyglossiaName arabic
187 FontEncoding "LFE,LAE"
193 # not supported by babel
196 PolyglossiaName armenian
202 # not supported by babel
205 PolyglossiaName asturian
212 GuiName "English (Australia)"
214 PolyglossiaName english
215 PolyglossiaOpts "variant=australian"
221 # In polyglossia, this is supported since release 1.33.4 (May 2014)
222 # We introduce it with LyX 2.2 to give the support time to settle.
224 GuiName "German (Austria, old spelling)"
226 PolyglossiaName german
227 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
233 # In polyglossia, this is supported since release 1.33.4 (May 2014)
234 # We introduce it with LyX 2.2 to give the support time to settle.
236 GuiName "German (Austria)"
238 PolyglossiaName german
239 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
249 PolyglossiaName bahasai
258 PolyglossiaName bahasam
268 PolyglossiaName basque
273 \addto\extrasbasque{\bbl@deactivate{~}}
277 # not yet supported by polyglossia
287 # not yet supported by polyglossia
297 GuiName "Portuguese (Brazil)"
300 PolyglossiaName brazil
309 PolyglossiaName breton
316 GuiName "English (UK)"
318 PolyglossiaName english
319 PolyglossiaOpts "variant=british"
328 PolyglossiaName bulgarian
335 # not yet supported by polyglossia
337 GuiName "English (Canada)"
339 # PolyglossiaName english
340 # PolyglossiaOpts "variant=canadian"
346 # not yet supported by polyglossia
347 # Note: If polyglossia support gets implemented, french needs
348 # PolyglossiaOpts "variant=french"
350 GuiName "French (Canada)"
352 # PolyglossiaName french
353 # PolyglossiaOpts "variant=canadien"
363 PolyglossiaName catalan
364 PolyglossiaOpts "babelshorthands=true"
371 Language chinese-simplified
372 GuiName "Chinese (simplified)"
381 Language chinese-traditional
382 GuiName "Chinese (traditional)"
390 # not supported by babel
393 PolyglossiaName coptic
401 PolyglossiaName croatian
411 PolyglossiaName czech
421 PolyglossiaName danish
427 # not supported by babel
429 GuiName "Divehi (Maldivian)"
430 PolyglossiaName divehi
439 PolyglossiaName dutch
440 PolyglossiaOpts "babelshorthands=true"
450 PolyglossiaName english
451 PolyglossiaOpts "variant=american"
457 # Esperanto has no country code because it is an auxiliary language.
458 # We therefore the name of its hunspell dictionary.
462 PolyglossiaName esperanto
471 PolyglossiaName estonian
476 \addto\extrasestonian{\bbl@deactivate{~}}
480 # the preamble definitions are only used due to bugs in the
481 # arabi-package -- remove them if they become unnecessary!
485 PolyglossiaName farsi
487 FontEncoding "LFE,LAE"
492 \DeclareTextSymbol{\guillemotright}{LFE}{62}
493 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
501 PolyglossiaName finnish
507 # We redefine \og and \fg (guillemets) for older french language definitions
512 PolyglossiaName french
517 \addto\extrasfrench{%
518 \providecommand{\og}{\leavevmode\flqq~}%
519 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
528 PolyglossiaName friulan
538 PolyglossiaName galician
543 \addto\shorthandsgalician{\galiciandeactivate{~}}
556 # german does not use a country code (due to the variety)
558 GuiName "German (old spelling)"
560 PolyglossiaName german
561 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
572 PolyglossiaName german
573 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
579 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
580 # We introduce it with LyX 2.2 to give the support time to settle.
581 # In polyglossia, this is supported since release 1.33.6 (May 2015)
582 # We introduce it with LyX 2.3 to give the support time to settle.
584 GuiName "German (Switzerland)"
585 BabelName nswissgerman
586 PolyglossiaName german
587 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
593 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
594 # In polyglossia, this is supported since release 1.33.6 (May 2015)
595 # We introduce it with LyX 2.3 to give the support time to settle.
596 Language german-ch-old
597 GuiName "German (Switzerland, old spelling)"
598 BabelName swissgerman
599 PolyglossiaName german
600 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
610 PolyglossiaName greek
611 PolyglossiaOpts "variant=monotonic"
614 InternalEncoding true
619 Language polutonikogreek
620 GuiName "Greek (polytonic)"
621 BabelName polutonikogreek
622 PolyglossiaName greek
623 PolyglossiaOpts "variant=polytonic"
626 InternalEncoding true
635 PolyglossiaName hebrew
638 InternalEncoding true
639 # Hebrew babel loads the font encodings
640 # itself in the appropriate order
646 # not supported by babel
649 PolyglossiaName hindi
654 # Currently not supported (file format change!)
655 # "hungarian" is a synonym for the "magyar" babel language option
656 # "hungarian" might be used for special purposes,
657 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
659 # GuiName "Hungarian"
660 # BabelName hungarian
669 PolyglossiaName icelandic
675 # Interlingua has no official country code because it is an auxiliary
676 # language. We therefore the name of its hunspell dictionary.
678 GuiName "Interlingua"
680 BabelName interlingua
681 PolyglossiaName interlingua
690 PolyglossiaName irish
700 PolyglossiaName italian
706 # japanese must be loaded locally with babel options,
707 # not globally via class options
708 # http://www.lyx.org/trac/ticket/4597#c4
709 # Since japanese does not load fontenc, we set
710 # InternalEncoding to true.
719 InternalEncoding true
724 Language japanese-cjk
725 GuiName "Japanese (CJK)"
731 # not supported by babel
734 PolyglossiaName kannada
739 # not yet supported by polyglossia
740 # not supported by babel
747 \AtBeginDocument{\fontencoding{T2A}\selectfont}
751 # not supported by babel
754 PolyglossiaName khmer
767 # not yet supported by polyglossia
776 # not supported by babel
784 # There is no country code for Latin because it is a dead language.
785 # We therefore the name of its hunspell dictionary.
789 PolyglossiaName latin
794 # latvian must be loaded locally with babel options,
795 # not globally via class options
799 PolyglossiaName latvian
802 # FontEncoding L7x # (required for hyphenation but not set by babel)
807 # lithuanian must be loaded locally with babel options,
808 # not globally via class options
812 PolyglossiaName lithuanian
820 Language lowersorbian
821 GuiName "Lower Sorbian"
822 BabelName lowersorbian
823 PolyglossiaName lsorbian
833 PolyglossiaName magyar
839 # not yet supported by polyglossia
849 # not supported by babel
852 PolyglossiaName marathi
857 # mongolian must be loaded locally with babel options,
858 # not globally via class options
859 # not yet supported by polyglossia
870 GuiName "English (New Zealand)"
872 PolyglossiaName english
873 PolyglossiaOpts "variant=newzealand"
880 GuiName "Norwegian (Bokmaal)"
883 PolyglossiaName norsk
890 GuiName "Norwegian (Nynorsk)"
893 PolyglossiaName nynorsk
899 # not supported by babel
902 PolyglossiaName occitan
908 # Currently not supported (file format change!)
909 # Russian orthography from the Petrine orthographic reforms of
910 # 1708 to the 1917 orthographic reform
911 # Note: If this is enabled, russian needs to get
912 # PolyglossiaOpts "spelling=modern"
913 # Language oldrussian
914 # GuiName "Russian (Petrine orthography)"
915 # PolyglossiaName russian
916 # PolyglossiaOpts "spelling=old"
917 # LangCode ru_petr1708
922 GuiName "Piedmontese"
924 BabelName piedmontese
925 PolyglossiaName piedmontese
935 PolyglossiaName polish
938 # FontEncoding QX # (required for hyphenation but not set by babel)
946 PolyglossiaName portuges
956 PolyglossiaName romanian
966 PolyglossiaName romansh
976 PolyglossiaName russian
986 PolyglossiaName samin
991 # not supported by babel
994 PolyglossiaName sanskrit
1002 PolyglossiaName scottish
1008 # Note: script option is uppercase, even if the polyglossia
1009 # manual states otherwise.
1014 PolyglossiaName serbian
1015 PolyglossiaOpts "script=Cyrillic"
1023 # Note: script option is uppercase, even if the polyglossia
1024 # manual states otherwise.
1025 Language serbian-latin
1026 GuiName "Serbian (Latin)"
1028 PolyglossiaName serbian
1029 PolyglossiaOpts "script=Latin"
1032 LangCode sr_RS-Latin
1039 PolyglossiaName slovak
1048 PolyglossiaName slovenian
1058 PolyglossiaName spanish
1063 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1064 EndPostBabelPreamble
1067 # there are no spanish shorthands in polyglossia
1068 Language spanish-mexico
1069 GuiName "Spanish (Mexico)"
1071 PolyglossiaName spanish
1076 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1077 EndPostBabelPreamble
1084 PolyglossiaName swedish
1090 # not supported by babel
1093 PolyglossiaName syriac
1099 # not supported by babel
1102 PolyglossiaName tamil
1107 # not supported by babel
1110 PolyglossiaName telugu
1118 PolyglossiaName thai
1124 \usepackage{thswitch}
1125 EndPostBabelPreamble
1128 # not supported by babel
1131 PolyglossiaName tibetan
1140 PolyglossiaName turkish
1145 \usepackage{xkeyval}
1146 EndPostBabelPreamble
1149 # turkmen must be loaded locally with babel options,
1150 # not globally via class options
1154 PolyglossiaName turkmen
1165 PolyglossiaName ukrainian
1172 Language uppersorbian
1173 GuiName "Upper Sorbian"
1174 BabelName uppersorbian
1175 PolyglossiaName usorbian
1181 # not supported by babel
1184 PolyglossiaName urdu
1190 # vietnam must be loaded locally with babel options,
1191 # not globally via class options, see
1192 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1194 GuiName "Vietnamese"
1196 PolyglossiaName vietnamese
1207 PolyglossiaName welsh