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>
29 # Provides <babel language feature>
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)
95 # * Provides lists features that are provided by specific Babel languages,
96 # but are available globally if this language is used (not only for this
97 # language. Examples are \textgreek (Greek) and \textcyrillic (Russian).
99 ##########################################################################
102 # LyX-internal languages
108 PolyglossiaName ignore
123 # not yet supported by polyglossia
135 PolyglossiaName albanian
142 GuiName "English (USA)"
144 PolyglossiaName english
145 PolyglossiaOpts "variant=american"
151 # not supported by babel
154 PolyglossiaName amharic
159 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
160 # We introduce it with LyX 2.2 to give the support time to settle.
161 Language ancientgreek
162 GuiName "Greek (ancient)"
165 \languageattribute{greek}{ancient}
167 PolyglossiaName greek
168 PolyglossiaOpts "variant=ancient"
171 InternalEncoding true
177 # FIXME: dummy babel language for arabic_arabtex to be able
178 # to switch the language the way of the ArabTeX-package
179 Language arabic_arabtex
180 GuiName "Arabic (ArabTeX)"
189 # polyglossia uses "Arabic" for the lang environment
190 Language arabic_arabi
191 GuiName "Arabic (Arabi)"
193 PolyglossiaName arabic
202 # not supported by babel
205 PolyglossiaName armenian
211 # not supported by babel
214 PolyglossiaName asturian
221 GuiName "English (Australia)"
223 PolyglossiaName english
224 PolyglossiaOpts "variant=australian"
230 # In polyglossia, this is supported since release 1.33.4 (May 2014)
231 # We introduce it with LyX 2.2 to give the support time to settle.
233 GuiName "German (Austria, old spelling)"
235 PolyglossiaName german
236 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
242 # In polyglossia, this is supported since release 1.33.4 (May 2014)
243 # We introduce it with LyX 2.2 to give the support time to settle.
245 GuiName "German (Austria)"
247 PolyglossiaName german
248 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
258 PolyglossiaName bahasai
267 PolyglossiaName bahasam
277 PolyglossiaName basque
282 \addto\extrasbasque{\bbl@deactivate{~}}
286 # not yet supported by polyglossia
296 # not yet supported by polyglossia
306 GuiName "Portuguese (Brazil)"
309 PolyglossiaName brazil
318 PolyglossiaName breton
325 GuiName "English (UK)"
327 PolyglossiaName english
328 PolyglossiaOpts "variant=british"
337 PolyglossiaName bulgarian
342 Provides textcyrillic
345 # not yet supported by polyglossia
347 GuiName "English (Canada)"
349 # PolyglossiaName english
350 # PolyglossiaOpts "variant=canadian"
356 # not yet supported by polyglossia
357 # Note: If polyglossia support gets implemented, french needs
358 # PolyglossiaOpts "variant=french"
360 GuiName "French (Canada)"
362 # PolyglossiaName french
363 # PolyglossiaOpts "variant=canadien"
373 PolyglossiaName catalan
374 PolyglossiaOpts "babelshorthands=true"
381 Language chinese-simplified
382 GuiName "Chinese (simplified)"
391 Language chinese-traditional
392 GuiName "Chinese (traditional)"
400 # not supported by babel
403 PolyglossiaName coptic
411 PolyglossiaName croatian
421 PolyglossiaName czech
431 PolyglossiaName danish
437 # not supported by babel
439 GuiName "Divehi (Maldivian)"
440 PolyglossiaName divehi
449 PolyglossiaName dutch
450 PolyglossiaOpts "babelshorthands=true"
460 PolyglossiaName english
461 PolyglossiaOpts "variant=american"
467 # Esperanto has no country code because it is an auxiliary language.
468 # We therefore the name of its hunspell dictionary.
472 PolyglossiaName esperanto
481 PolyglossiaName estonian
486 \addto\extrasestonian{\bbl@deactivate{~}}
490 # the preamble definitions are only used due to bugs in the
491 # arabi-package -- remove them if they become unnecessary!
495 PolyglossiaName farsi
502 \DeclareTextSymbol{\guillemotright}{LFE}{62}
503 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
511 PolyglossiaName finnish
517 # We redefine \og and \fg (guillemets) for older french language definitions
522 PolyglossiaName french
527 \addto\extrasfrench{%
528 \providecommand{\og}{\leavevmode\flqq~}%
529 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
538 PolyglossiaName friulan
548 PolyglossiaName galician
553 \addto\shorthandsgalician{\galiciandeactivate{~}}
566 # german does not use a country code (due to the variety)
568 GuiName "German (old spelling)"
570 PolyglossiaName german
571 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
582 PolyglossiaName german
583 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
589 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
590 # We introduce it with LyX 2.2 to give the support time to settle.
591 # In polyglossia, this is supported since release 1.33.6 (May 2015)
592 # We introduce it with LyX 2.3 to give the support time to settle.
594 GuiName "German (Switzerland)"
595 BabelName nswissgerman
596 PolyglossiaName german
597 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
603 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
604 # In polyglossia, this is supported since release 1.33.6 (May 2015)
605 # We introduce it with LyX 2.3 to give the support time to settle.
606 Language german-ch-old
607 GuiName "German (Switzerland, old spelling)"
608 BabelName swissgerman
609 PolyglossiaName german
610 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
620 PolyglossiaName greek
621 PolyglossiaOpts "variant=monotonic"
624 InternalEncoding true
630 Language polutonikogreek
631 GuiName "Greek (polytonic)"
632 BabelName polutonikogreek
633 PolyglossiaName greek
634 PolyglossiaOpts "variant=polytonic"
637 InternalEncoding true
647 PolyglossiaName hebrew
650 InternalEncoding true
651 # Hebrew babel loads the font encodings
652 # itself in the appropriate order
658 # not supported by babel
661 PolyglossiaName hindi
666 # Currently not supported (file format change!)
667 # "hungarian" is a synonym for the "magyar" babel language option
668 # "hungarian" might be used for special purposes,
669 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
671 # GuiName "Hungarian"
672 # BabelName hungarian
681 PolyglossiaName icelandic
687 # Interlingua has no official country code because it is an auxiliary
688 # language. We therefore the name of its hunspell dictionary.
690 GuiName "Interlingua"
692 BabelName interlingua
693 PolyglossiaName interlingua
702 PolyglossiaName irish
712 PolyglossiaName italian
718 # japanese must be loaded locally with babel options,
719 # not globally via class options
720 # http://www.lyx.org/trac/ticket/4597#c4
721 # Since japanese does not load fontenc, we set
722 # InternalEncoding to true.
731 InternalEncoding true
737 Language japanese-cjk
738 GuiName "Japanese (CJK)"
745 # not supported by babel
748 PolyglossiaName kannada
753 # not yet supported by polyglossia
754 # not supported by babel
761 \AtBeginDocument{\fontencoding{T2A}\selectfont}
765 # not supported by babel
768 PolyglossiaName khmer
781 # not yet supported by polyglossia
790 # not supported by babel
798 # There is no country code for Latin because it is a dead language.
799 # We therefore the name of its hunspell dictionary.
803 PolyglossiaName latin
808 # latvian must be loaded locally with babel options,
809 # not globally via class options
813 PolyglossiaName latvian
816 # FontEncoding L7x # (required for hyphenation but not set by babel)
821 # lithuanian must be loaded locally with babel options,
822 # not globally via class options
826 PolyglossiaName lithuanian
834 Language lowersorbian
835 GuiName "Lower Sorbian"
836 BabelName lowersorbian
837 PolyglossiaName lsorbian
847 PolyglossiaName magyar
853 # not yet supported by polyglossia
861 Provides textcyrillic
864 # not supported by babel
867 PolyglossiaName marathi
872 # mongolian must be loaded locally with babel options,
873 # not globally via class options
874 # not yet supported by polyglossia
882 Provides textcyrillic
886 GuiName "English (New Zealand)"
888 PolyglossiaName english
889 PolyglossiaOpts "variant=newzealand"
896 GuiName "Norwegian (Bokmaal)"
899 PolyglossiaName norsk
906 GuiName "Norwegian (Nynorsk)"
909 PolyglossiaName nynorsk
915 # not supported by babel
918 PolyglossiaName occitan
924 # Currently not supported (file format change!)
925 # Russian orthography from the Petrine orthographic reforms of
926 # 1708 to the 1917 orthographic reform
927 # Note: If this is enabled, russian needs to get
928 # PolyglossiaOpts "spelling=modern"
929 # Language oldrussian
930 # GuiName "Russian (Petrine orthography)"
931 # PolyglossiaName russian
932 # PolyglossiaOpts "spelling=old"
933 # LangCode ru_petr1708
938 GuiName "Piedmontese"
940 BabelName piedmontese
941 PolyglossiaName piedmontese
951 PolyglossiaName polish
954 # FontEncoding QX # (required for hyphenation but not set by babel)
962 PolyglossiaName portuges
972 PolyglossiaName romanian
982 PolyglossiaName romansh
992 PolyglossiaName russian
997 Provides textcyrillic
1001 GuiName "North Sami"
1003 PolyglossiaName samin
1008 # not supported by babel
1011 PolyglossiaName sanskrit
1019 PolyglossiaName scottish
1025 # Note: script option is uppercase, even if the polyglossia
1026 # manual states otherwise.
1031 PolyglossiaName serbian
1032 PolyglossiaOpts "script=Cyrillic"
1040 # Note: script option is uppercase, even if the polyglossia
1041 # manual states otherwise.
1042 Language serbian-latin
1043 GuiName "Serbian (Latin)"
1045 PolyglossiaName serbian
1046 PolyglossiaOpts "script=Latin"
1049 LangCode sr_RS-Latin
1056 PolyglossiaName slovak
1065 PolyglossiaName slovenian
1075 PolyglossiaName spanish
1080 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1081 EndPostBabelPreamble
1084 # there are no spanish shorthands in polyglossia
1085 Language spanish-mexico
1086 GuiName "Spanish (Mexico)"
1088 PolyglossiaName spanish
1093 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1094 EndPostBabelPreamble
1101 PolyglossiaName swedish
1107 # not supported by babel
1110 PolyglossiaName syriac
1116 # not supported by babel
1119 PolyglossiaName tamil
1124 # not supported by babel
1127 PolyglossiaName telugu
1135 PolyglossiaName thai
1141 \usepackage{thswitch}
1142 EndPostBabelPreamble
1145 # not supported by babel
1148 PolyglossiaName tibetan
1157 PolyglossiaName turkish
1162 \usepackage{xkeyval}
1163 EndPostBabelPreamble
1166 # turkmen must be loaded locally with babel options,
1167 # not globally via class options
1171 PolyglossiaName turkmen
1182 PolyglossiaName ukrainian
1187 Provides textcyrillic
1190 Language uppersorbian
1191 GuiName "Upper Sorbian"
1192 BabelName uppersorbian
1193 PolyglossiaName usorbian
1199 # not supported by babel
1202 PolyglossiaName urdu
1209 GuiName "Vietnamese"
1210 BabelName vietnamese
1211 PolyglossiaName vietnamese
1220 PolyglossiaName welsh