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>
35 # * If we provide Polyglossia languages with different options, the default
36 # options (such as "variant=american", "spelling=modern") should be
37 # explicitely spelled out (in order to provide mixing of such variants).
38 # * Omitted elements will be treated as empty (if string) or "false"
40 # * When HasGuiSupport is true, the language is candidate to appear in
41 # the list of possible GUI languages in the Preferences dialog. It
42 # will actually appear there only if a corresponding .mo file can be
43 # found among the translations. When several languages correspond to
44 # the same translation -- like English, English (US) and English
45 # (UK) -- try to select the entry that is most generic -- here
47 # * The QuoteStyle arguments correspond to the following styles:
49 # - british: `text' ``text'' (6_9 -- 66_99)
50 # - cjk: corner brackets white corner br.
51 # - cjk-angle: double angle br. angle br.
52 # - danish: >>text<< >text< (inward guillemets)
53 # - english: ``text'' `text' (66_99 -- 6_9)
54 # - french: <<text>> ``text'' (outward guillemets -- 66_99)
55 # - frenchin: <<text>> <<text>> (French Imprimerie Nationale style)
56 # - german: ,,text`` ,text` (99/66 -- 9/6)
57 # - polish: ,,text'' ,text' (99/99 -- 9/9)
58 # - russian: <<text>> ,,text`` (outward guillemets -- 99/66)
59 # - swedish: ''text'' 'text' (99_99 -- 9_9)
60 # - swedishg: >>text>> 'text' (Swedish Guillemets)
61 # - swiss: <<text>> <text> (outward guillemets)
62 # - plain: "text" 'text' (non-typographical quotes)
63 # Note that the option names have been selected (rather arbitrarily)
64 # because the respective styles are common in the respective countries.
65 # Of course this does not imply any fixed relation to those countries.
66 # * Encoding is the default encoding used with TeX fonts.
67 # It is only used if Document > Settings > Language > Encoding
68 # is set to "Language Default" and "use non-TeX fonts" is FALSE.
69 # Encoding "inherit" means: keep encoding of the context (used by
71 # * InternalEncoding is used to tell LyX that babel internally sets a
72 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
73 # If True, LyX cares for characters/macros that do not exist in
74 # some font encodings ("<", ">", "|" and straight quote).
75 # It is not required for standard encodings like T2A. See bug #5091.
76 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
78 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
79 # globally to the class. Some languages (basically those not directly
80 # supported by babel) need this.
81 # FIXME: in this case, we might still need to pass the other languages
82 # globally, for the use of other packages (such as varioref).
83 # * LangCode is also used for spellchecking and thesaurus, where the
84 # dictionaries are named accordingly. Thus, check this when introducing/
85 # changing language codes (especially aspell, thesaurus).
86 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
87 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
88 # http://www.w3.org/International/articles/language-tags/
89 # http://www.iana.org/assignments/language-subtag-registry
90 # * LangVariety is used by the aspell spellchecker to differentiate
91 # dictionaries for different varieties of a given language (e.g. German
92 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
93 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
94 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
96 ##########################################################################
99 # LyX-internal languages
105 PolyglossiaName ignore
120 # not yet supported by polyglossia
132 PolyglossiaName albanian
139 GuiName "English (USA)"
141 PolyglossiaName english
142 PolyglossiaOpts "variant=american"
148 # not supported by babel
151 PolyglossiaName amharic
156 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
157 # We introduce it with LyX 2.2 to give the support time to settle.
158 Language ancientgreek
159 GuiName "Greek (ancient)"
162 \languageattribute{greek}{ancient}
164 PolyglossiaName greek
165 PolyglossiaOpts "variant=ancient"
168 InternalEncoding true
174 # FIXME: dummy babel language for arabic_arabtex to be able
175 # to switch the language the way of the ArabTeX-package
176 Language arabic_arabtex
177 GuiName "Arabic (ArabTeX)"
186 # polyglossia uses "Arabic" for the lang environment
187 Language arabic_arabi
188 GuiName "Arabic (Arabi)"
190 PolyglossiaName arabic
199 # not supported by babel
202 PolyglossiaName armenian
208 # not supported by babel
211 PolyglossiaName asturian
218 GuiName "English (Australia)"
220 PolyglossiaName english
221 PolyglossiaOpts "variant=australian"
227 # In polyglossia, this is supported since release 1.33.4 (May 2014)
228 # We introduce it with LyX 2.2 to give the support time to settle.
230 GuiName "German (Austria, old spelling)"
232 PolyglossiaName german
233 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
239 # In polyglossia, this is supported since release 1.33.4 (May 2014)
240 # We introduce it with LyX 2.2 to give the support time to settle.
242 GuiName "German (Austria)"
244 PolyglossiaName german
245 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
255 PolyglossiaName bahasai
264 PolyglossiaName bahasam
274 PolyglossiaName basque
279 \addto\extrasbasque{\bbl@deactivate{~}}
283 # not yet supported by polyglossia
293 # not yet supported by polyglossia
303 GuiName "Portuguese (Brazil)"
306 PolyglossiaName brazil
315 PolyglossiaName breton
322 GuiName "English (UK)"
324 PolyglossiaName english
325 PolyglossiaOpts "variant=british"
334 PolyglossiaName bulgarian
339 Provides textcyrillic
342 # not yet supported by polyglossia
344 GuiName "English (Canada)"
346 # PolyglossiaName english
347 # PolyglossiaOpts "variant=canadian"
353 # not yet supported by polyglossia
354 # Note: If polyglossia support gets implemented, french needs
355 # PolyglossiaOpts "variant=french"
357 GuiName "French (Canada)"
359 # PolyglossiaName french
360 # PolyglossiaOpts "variant=canadien"
370 PolyglossiaName catalan
371 PolyglossiaOpts "babelshorthands=true"
378 Language chinese-simplified
379 GuiName "Chinese (simplified)"
388 Language chinese-traditional
389 GuiName "Chinese (traditional)"
397 # not supported by babel
400 PolyglossiaName coptic
408 PolyglossiaName croatian
418 PolyglossiaName czech
428 PolyglossiaName danish
434 # not supported by babel
436 GuiName "Divehi (Maldivian)"
437 PolyglossiaName divehi
446 PolyglossiaName dutch
447 PolyglossiaOpts "babelshorthands=true"
457 PolyglossiaName english
458 PolyglossiaOpts "variant=american"
464 # Esperanto has no country code because it is an auxiliary language.
465 # We therefore the name of its hunspell dictionary.
469 PolyglossiaName esperanto
478 PolyglossiaName estonian
483 \addto\extrasestonian{\bbl@deactivate{~}}
487 # the preamble definitions are only used due to bugs in the
488 # arabi-package -- remove them if they become unnecessary!
492 PolyglossiaName farsi
499 \DeclareTextSymbol{\guillemotright}{LFE}{62}
500 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
508 PolyglossiaName finnish
514 # We redefine \og and \fg (guillemets) for older french language definitions
519 PolyglossiaName french
524 \addto\extrasfrench{%
525 \providecommand{\og}{\leavevmode\flqq~}%
526 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
535 PolyglossiaName friulan
545 PolyglossiaName galician
550 \addto\shorthandsgalician{\galiciandeactivate{~}}
563 # german does not use a country code (due to the variety)
565 GuiName "German (old spelling)"
567 PolyglossiaName german
568 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
579 PolyglossiaName german
580 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
586 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
587 # We introduce it with LyX 2.2 to give the support time to settle.
588 # In polyglossia, this is supported since release 1.33.6 (May 2015)
589 # We introduce it with LyX 2.3 to give the support time to settle.
591 GuiName "German (Switzerland)"
592 BabelName nswissgerman
593 PolyglossiaName german
594 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
600 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
601 # In polyglossia, this is supported since release 1.33.6 (May 2015)
602 # We introduce it with LyX 2.3 to give the support time to settle.
603 Language german-ch-old
604 GuiName "German (Switzerland, old spelling)"
605 BabelName swissgerman
606 PolyglossiaName german
607 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
617 PolyglossiaName greek
618 PolyglossiaOpts "variant=monotonic"
621 InternalEncoding true
627 Language polutonikogreek
628 GuiName "Greek (polytonic)"
629 BabelName polutonikogreek
630 PolyglossiaName greek
631 PolyglossiaOpts "variant=polytonic"
634 InternalEncoding true
644 PolyglossiaName hebrew
647 InternalEncoding true
648 # Hebrew babel loads the font encodings
649 # itself in the appropriate order
655 # not supported by babel
658 PolyglossiaName hindi
663 # Currently not supported (file format change!)
664 # "hungarian" is a synonym for the "magyar" babel language option
665 # "hungarian" might be used for special purposes,
666 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
668 # GuiName "Hungarian"
669 # BabelName hungarian
678 PolyglossiaName icelandic
684 # Interlingua has no official country code because it is an auxiliary
685 # language. We therefore the name of its hunspell dictionary.
687 GuiName "Interlingua"
689 BabelName interlingua
690 PolyglossiaName interlingua
699 PolyglossiaName irish
709 PolyglossiaName italian
715 # japanese must be loaded locally with babel options,
716 # not globally via class options
717 # http://www.lyx.org/trac/ticket/4597#c4
718 # Since japanese does not load fontenc, we set
719 # InternalEncoding to true.
728 InternalEncoding true
734 Language japanese-cjk
735 GuiName "Japanese (CJK)"
742 # not supported by babel
745 PolyglossiaName kannada
750 # not yet supported by polyglossia
751 # not supported by babel
758 \AtBeginDocument{\fontencoding{T2A}\selectfont}
762 # not supported by babel
765 PolyglossiaName khmer
778 # not yet supported by polyglossia
787 # not supported by babel
795 # There is no country code for Latin because it is a dead language.
796 # We therefore the name of its hunspell dictionary.
800 PolyglossiaName latin
805 # latvian must be loaded locally with babel options,
806 # not globally via class options
810 PolyglossiaName latvian
813 # FontEncoding L7x # (required for hyphenation but not set by babel)
818 # lithuanian must be loaded locally with babel options,
819 # not globally via class options
823 PolyglossiaName lithuanian
831 Language lowersorbian
832 GuiName "Lower Sorbian"
833 BabelName lowersorbian
834 PolyglossiaName lsorbian
844 PolyglossiaName magyar
850 # not yet supported by polyglossia
858 Provides textcyrillic
861 # not supported by babel
864 PolyglossiaName marathi
869 # mongolian must be loaded locally with babel options,
870 # not globally via class options
871 # not yet supported by polyglossia
879 Provides textcyrillic
883 GuiName "English (New Zealand)"
885 PolyglossiaName english
886 PolyglossiaOpts "variant=newzealand"
893 GuiName "Norwegian (Bokmaal)"
896 PolyglossiaName norsk
903 GuiName "Norwegian (Nynorsk)"
906 PolyglossiaName nynorsk
912 # not supported by babel
915 PolyglossiaName occitan
921 # Currently not supported (file format change!)
922 # Russian orthography from the Petrine orthographic reforms of
923 # 1708 to the 1917 orthographic reform
924 # Note: If this is enabled, russian needs to get
925 # PolyglossiaOpts "spelling=modern"
926 # Language oldrussian
927 # GuiName "Russian (Petrine orthography)"
928 # PolyglossiaName russian
929 # PolyglossiaOpts "spelling=old"
930 # LangCode ru_petr1708
935 GuiName "Piedmontese"
937 BabelName piedmontese
938 PolyglossiaName piedmontese
948 PolyglossiaName polish
951 # FontEncoding QX # (required for hyphenation but not set by babel)
959 PolyglossiaName portuges
969 PolyglossiaName romanian
979 PolyglossiaName romansh
989 PolyglossiaName russian
994 Provides textcyrillic
1000 PolyglossiaName samin
1005 # not supported by babel
1008 PolyglossiaName sanskrit
1016 PolyglossiaName scottish
1022 # Note: script option is uppercase, even if the polyglossia
1023 # manual states otherwise.
1028 PolyglossiaName serbian
1029 PolyglossiaOpts "script=Cyrillic"
1037 # Note: script option is uppercase, even if the polyglossia
1038 # manual states otherwise.
1039 Language serbian-latin
1040 GuiName "Serbian (Latin)"
1042 PolyglossiaName serbian
1043 PolyglossiaOpts "script=Latin"
1046 LangCode sr_RS-Latin
1053 PolyglossiaName slovak
1062 PolyglossiaName slovenian
1072 PolyglossiaName spanish
1077 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1078 EndPostBabelPreamble
1081 # there are no spanish shorthands in polyglossia
1082 Language spanish-mexico
1083 GuiName "Spanish (Mexico)"
1085 PolyglossiaName spanish
1090 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1091 EndPostBabelPreamble
1098 PolyglossiaName swedish
1104 # not supported by babel
1107 PolyglossiaName syriac
1113 # not supported by babel
1116 PolyglossiaName tamil
1121 # not supported by babel
1124 PolyglossiaName telugu
1132 PolyglossiaName thai
1138 \usepackage{thswitch}
1139 EndPostBabelPreamble
1142 # not supported by babel
1145 PolyglossiaName tibetan
1154 PolyglossiaName turkish
1159 \usepackage{xkeyval}
1160 EndPostBabelPreamble
1163 # turkmen must be loaded locally with babel options,
1164 # not globally via class options
1168 PolyglossiaName turkmen
1179 PolyglossiaName ukrainian
1184 Provides textcyrillic
1187 Language uppersorbian
1188 GuiName "Upper Sorbian"
1189 BabelName uppersorbian
1190 PolyglossiaName usorbian
1196 # not supported by babel
1199 PolyglossiaName urdu
1206 GuiName "Vietnamese"
1207 BabelName vietnamese
1208 PolyglossiaName vietnamese
1217 PolyglossiaName welsh