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 # - cjk: corner brackets white corner br.
50 # - cjk-angle: double angle br. angle br.
51 # - danish: >>text<< >text< (inward guillemets)
52 # - english: ``text'' `text' (66_99 -- 6_9)
53 # - french: <<text>> ``text'' (outward guillemets -- 66_99)
54 # - frenchin: <<text>> <<text>> (French Imprimerie Nationale style)
55 # - german: ,,text`` ,text` (99/66 -- 9/6)
56 # - polish: ,,text'' ,text' (99/99 -- 9/9)
57 # - russian: <<text>> ,,text`` (outward guillemets -- 99/66)
58 # - swedish: ''text'' 'text' (99_99 -- 9_9)
59 # - swedishg: >>text>> 'text' (Swedish Guillemets)
60 # - swiss: <<text>> <text> (outward guillemets)
61 # - plain: "text" 'text' (non-typographical quotes)
62 # Note that the option names have been selected (rather arbitrarily)
63 # because the respective styles are common in the respective countries.
64 # Of course this does not imply any fixed relation to those countries.
65 # * Encoding is the default encoding used with TeX fonts.
66 # It is only used if Document > Settings > Language > Encoding
67 # is set to "Language Default" and "use non-TeX fonts" is FALSE.
68 # Encoding "inherit" means: keep encoding of the context (used by
70 # * InternalEncoding is used to tell LyX that babel internally sets a
71 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
72 # If True, LyX cares for characters/macros that do not exist in
73 # some font encodings ("<", ">", "|" and straight quote).
74 # It is not required for standard encodings like T2A. See bug #5091.
75 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
77 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
78 # globally to the class. Some languages (basically those not directly
79 # supported by babel) need this.
80 # FIXME: in this case, we might still need to pass the other languages
81 # globally, for the use of other packages (such as varioref).
82 # * LangCode is also used for spellchecking and thesaurus, where the
83 # dictionaries are named accordingly. Thus, check this when introducing/
84 # changing language codes (especially aspell, thesaurus).
85 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
86 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
87 # http://www.w3.org/International/articles/language-tags/
88 # http://www.iana.org/assignments/language-subtag-registry
89 # * LangVariety is used by the aspell spellchecker to differentiate
90 # dictionaries for different varieties of a given language (e.g. German
91 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
92 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
93 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
95 ##########################################################################
98 # LyX-internal languages
104 PolyglossiaName ignore
119 # not yet supported by polyglossia
131 PolyglossiaName albanian
138 GuiName "English (USA)"
140 PolyglossiaName english
141 PolyglossiaOpts "variant=american"
147 # not supported by babel
150 PolyglossiaName amharic
155 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
156 # We introduce it with LyX 2.2 to give the support time to settle.
157 Language ancientgreek
158 GuiName "Greek (ancient)"
161 \languageattribute{greek}{ancient}
163 PolyglossiaName greek
164 PolyglossiaOpts "variant=ancient"
167 InternalEncoding true
172 # FIXME: dummy babel language for arabic_arabtex to be able
173 # to switch the language the way of the ArabTeX-package
174 Language arabic_arabtex
175 GuiName "Arabic (ArabTeX)"
184 # polyglossia uses "Arabic" for the lang environment
185 Language arabic_arabi
186 GuiName "Arabic (Arabi)"
188 PolyglossiaName arabic
197 # not supported by babel
200 PolyglossiaName armenian
206 # not supported by babel
209 PolyglossiaName asturian
216 GuiName "English (Australia)"
218 PolyglossiaName english
219 PolyglossiaOpts "variant=australian"
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, old spelling)"
230 PolyglossiaName german
231 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
237 # In polyglossia, this is supported since release 1.33.4 (May 2014)
238 # We introduce it with LyX 2.2 to give the support time to settle.
240 GuiName "German (Austria)"
242 PolyglossiaName german
243 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
253 PolyglossiaName bahasai
262 PolyglossiaName bahasam
272 PolyglossiaName basque
277 \addto\extrasbasque{\bbl@deactivate{~}}
281 # not yet supported by polyglossia
291 # not yet supported by polyglossia
301 GuiName "Portuguese (Brazil)"
304 PolyglossiaName brazil
313 PolyglossiaName breton
320 GuiName "English (UK)"
322 PolyglossiaName english
323 PolyglossiaOpts "variant=british"
332 PolyglossiaName bulgarian
339 # not yet supported by polyglossia
341 GuiName "English (Canada)"
343 # PolyglossiaName english
344 # PolyglossiaOpts "variant=canadian"
350 # not yet supported by polyglossia
351 # Note: If polyglossia support gets implemented, french needs
352 # PolyglossiaOpts "variant=french"
354 GuiName "French (Canada)"
356 # PolyglossiaName french
357 # PolyglossiaOpts "variant=canadien"
367 PolyglossiaName catalan
368 PolyglossiaOpts "babelshorthands=true"
375 Language chinese-simplified
376 GuiName "Chinese (simplified)"
385 Language chinese-traditional
386 GuiName "Chinese (traditional)"
394 # not supported by babel
397 PolyglossiaName coptic
405 PolyglossiaName croatian
415 PolyglossiaName czech
425 PolyglossiaName danish
431 # not supported by babel
433 GuiName "Divehi (Maldivian)"
434 PolyglossiaName divehi
443 PolyglossiaName dutch
444 PolyglossiaOpts "babelshorthands=true"
454 PolyglossiaName english
455 PolyglossiaOpts "variant=american"
461 # Esperanto has no country code because it is an auxiliary language.
462 # We therefore the name of its hunspell dictionary.
466 PolyglossiaName esperanto
475 PolyglossiaName estonian
480 \addto\extrasestonian{\bbl@deactivate{~}}
484 # the preamble definitions are only used due to bugs in the
485 # arabi-package -- remove them if they become unnecessary!
489 PolyglossiaName farsi
496 \DeclareTextSymbol{\guillemotright}{LFE}{62}
497 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
505 PolyglossiaName finnish
511 # We redefine \og and \fg (guillemets) for older french language definitions
516 PolyglossiaName french
521 \addto\extrasfrench{%
522 \providecommand{\og}{\leavevmode\flqq~}%
523 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
532 PolyglossiaName friulan
542 PolyglossiaName galician
547 \addto\shorthandsgalician{\galiciandeactivate{~}}
560 # german does not use a country code (due to the variety)
562 GuiName "German (old spelling)"
564 PolyglossiaName german
565 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
576 PolyglossiaName german
577 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
583 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
584 # We introduce it with LyX 2.2 to give the support time to settle.
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.
588 GuiName "German (Switzerland)"
589 BabelName nswissgerman
590 PolyglossiaName german
591 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
597 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
598 # In polyglossia, this is supported since release 1.33.6 (May 2015)
599 # We introduce it with LyX 2.3 to give the support time to settle.
600 Language german-ch-old
601 GuiName "German (Switzerland, old spelling)"
602 BabelName swissgerman
603 PolyglossiaName german
604 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
614 PolyglossiaName greek
615 PolyglossiaOpts "variant=monotonic"
618 InternalEncoding true
623 Language polutonikogreek
624 GuiName "Greek (polytonic)"
625 BabelName polutonikogreek
626 PolyglossiaName greek
627 PolyglossiaOpts "variant=polytonic"
630 InternalEncoding true
639 PolyglossiaName hebrew
642 InternalEncoding true
643 # Hebrew babel loads the font encodings
644 # itself in the appropriate order
650 # not supported by babel
653 PolyglossiaName hindi
658 # Currently not supported (file format change!)
659 # "hungarian" is a synonym for the "magyar" babel language option
660 # "hungarian" might be used for special purposes,
661 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
663 # GuiName "Hungarian"
664 # BabelName hungarian
673 PolyglossiaName icelandic
679 # Interlingua has no official country code because it is an auxiliary
680 # language. We therefore the name of its hunspell dictionary.
682 GuiName "Interlingua"
684 BabelName interlingua
685 PolyglossiaName interlingua
694 PolyglossiaName irish
704 PolyglossiaName italian
710 # japanese must be loaded locally with babel options,
711 # not globally via class options
712 # http://www.lyx.org/trac/ticket/4597#c4
713 # Since japanese does not load fontenc, we set
714 # InternalEncoding to true.
723 InternalEncoding true
729 Language japanese-cjk
730 GuiName "Japanese (CJK)"
737 # not supported by babel
740 PolyglossiaName kannada
745 # not yet supported by polyglossia
746 # not supported by babel
753 \AtBeginDocument{\fontencoding{T2A}\selectfont}
757 # not supported by babel
760 PolyglossiaName khmer
773 # not yet supported by polyglossia
782 # not supported by babel
790 # There is no country code for Latin because it is a dead language.
791 # We therefore the name of its hunspell dictionary.
795 PolyglossiaName latin
800 # latvian must be loaded locally with babel options,
801 # not globally via class options
805 PolyglossiaName latvian
808 # FontEncoding L7x # (required for hyphenation but not set by babel)
813 # lithuanian must be loaded locally with babel options,
814 # not globally via class options
818 PolyglossiaName lithuanian
826 Language lowersorbian
827 GuiName "Lower Sorbian"
828 BabelName lowersorbian
829 PolyglossiaName lsorbian
839 PolyglossiaName magyar
845 # not yet supported by polyglossia
855 # not supported by babel
858 PolyglossiaName marathi
863 # mongolian must be loaded locally with babel options,
864 # not globally via class options
865 # not yet supported by polyglossia
876 GuiName "English (New Zealand)"
878 PolyglossiaName english
879 PolyglossiaOpts "variant=newzealand"
886 GuiName "Norwegian (Bokmaal)"
889 PolyglossiaName norsk
896 GuiName "Norwegian (Nynorsk)"
899 PolyglossiaName nynorsk
905 # not supported by babel
908 PolyglossiaName occitan
914 # Currently not supported (file format change!)
915 # Russian orthography from the Petrine orthographic reforms of
916 # 1708 to the 1917 orthographic reform
917 # Note: If this is enabled, russian needs to get
918 # PolyglossiaOpts "spelling=modern"
919 # Language oldrussian
920 # GuiName "Russian (Petrine orthography)"
921 # PolyglossiaName russian
922 # PolyglossiaOpts "spelling=old"
923 # LangCode ru_petr1708
928 GuiName "Piedmontese"
930 BabelName piedmontese
931 PolyglossiaName piedmontese
941 PolyglossiaName polish
944 # FontEncoding QX # (required for hyphenation but not set by babel)
952 PolyglossiaName portuges
962 PolyglossiaName romanian
972 PolyglossiaName romansh
982 PolyglossiaName russian
992 PolyglossiaName samin
997 # not supported by babel
1000 PolyglossiaName sanskrit
1008 PolyglossiaName scottish
1014 # Note: script option is uppercase, even if the polyglossia
1015 # manual states otherwise.
1020 PolyglossiaName serbian
1021 PolyglossiaOpts "script=Cyrillic"
1029 # Note: script option is uppercase, even if the polyglossia
1030 # manual states otherwise.
1031 Language serbian-latin
1032 GuiName "Serbian (Latin)"
1034 PolyglossiaName serbian
1035 PolyglossiaOpts "script=Latin"
1038 LangCode sr_RS-Latin
1045 PolyglossiaName slovak
1054 PolyglossiaName slovenian
1064 PolyglossiaName spanish
1069 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1070 EndPostBabelPreamble
1073 # there are no spanish shorthands in polyglossia
1074 Language spanish-mexico
1075 GuiName "Spanish (Mexico)"
1077 PolyglossiaName spanish
1082 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1083 EndPostBabelPreamble
1090 PolyglossiaName swedish
1096 # not supported by babel
1099 PolyglossiaName syriac
1105 # not supported by babel
1108 PolyglossiaName tamil
1113 # not supported by babel
1116 PolyglossiaName telugu
1124 PolyglossiaName thai
1130 \usepackage{thswitch}
1131 EndPostBabelPreamble
1134 # not supported by babel
1137 PolyglossiaName tibetan
1146 PolyglossiaName turkish
1151 \usepackage{xkeyval}
1152 EndPostBabelPreamble
1155 # turkmen must be loaded locally with babel options,
1156 # not globally via class options
1160 PolyglossiaName turkmen
1171 PolyglossiaName ukrainian
1178 Language uppersorbian
1179 GuiName "Upper Sorbian"
1180 BabelName uppersorbian
1181 PolyglossiaName usorbian
1187 # not supported by babel
1190 PolyglossiaName urdu
1197 GuiName "Vietnamese"
1198 BabelName vietnamese
1199 PolyglossiaName vietnamese
1208 PolyglossiaName welsh