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 # * InternalEncoding is used to tell LyX that babel internally sets a
69 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
70 # If True, LyX cares for characters/macros that do not exist in
71 # some font encodings ("<", ">", "|" and straight quote).
72 # It is not required for standard encodings like T2A. See bug #5091.
73 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
75 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
76 # globally to the class. Some languages (basically those not directly
77 # supported by babel) need this.
78 # FIXME: in this case, we might still need to pass the other languages
79 # globally, for the use of other packages (such as varioref).
80 # * LangCode is also used for spellchecking and thesaurus, where the
81 # dictionaries are named accordingly. Thus, check this when introducing/
82 # changing language codes (especially aspell, thesaurus).
83 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
84 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
85 # http://www.w3.org/International/articles/language-tags/
86 # http://www.iana.org/assignments/language-subtag-registry
87 # * LangVariety is used by the aspell spellchecker to differentiate
88 # dictionaries for different varieties of a given language (e.g. German
89 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
90 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
91 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
93 ##########################################################################
96 # LyX-internal languages
102 PolyglossiaName ignore
117 # not yet supported by polyglossia
129 PolyglossiaName albanian
136 GuiName "English (USA)"
138 PolyglossiaName english
139 PolyglossiaOpts "variant=american"
145 # not supported by babel
148 PolyglossiaName amharic
153 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
154 # We introduce it with LyX 2.2 to give the support time to settle.
155 Language ancientgreek
156 GuiName "Greek (ancient)"
159 \languageattribute{greek}{ancient}
161 PolyglossiaName greek
162 PolyglossiaOpts "variant=ancient"
165 InternalEncoding true
170 # FIXME: dummy babel language for arabic_arabtex to be able
171 # to switch the language the way of the ArabTeX-package
172 Language arabic_arabtex
173 GuiName "Arabic (ArabTeX)"
182 # polyglossia uses "Arabic" for the lang environment
183 Language arabic_arabi
184 GuiName "Arabic (Arabi)"
186 PolyglossiaName arabic
195 # not supported by babel
198 PolyglossiaName armenian
204 # not supported by babel
207 PolyglossiaName asturian
214 GuiName "English (Australia)"
216 PolyglossiaName english
217 PolyglossiaOpts "variant=australian"
223 # In polyglossia, this is supported since release 1.33.4 (May 2014)
224 # We introduce it with LyX 2.2 to give the support time to settle.
226 GuiName "German (Austria, old spelling)"
228 PolyglossiaName german
229 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
235 # In polyglossia, this is supported since release 1.33.4 (May 2014)
236 # We introduce it with LyX 2.2 to give the support time to settle.
238 GuiName "German (Austria)"
240 PolyglossiaName german
241 PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
251 PolyglossiaName bahasai
260 PolyglossiaName bahasam
270 PolyglossiaName basque
275 \addto\extrasbasque{\bbl@deactivate{~}}
279 # not yet supported by polyglossia
289 # not yet supported by polyglossia
299 GuiName "Portuguese (Brazil)"
302 PolyglossiaName brazil
311 PolyglossiaName breton
318 GuiName "English (UK)"
320 PolyglossiaName english
321 PolyglossiaOpts "variant=british"
330 PolyglossiaName bulgarian
337 # not yet supported by polyglossia
339 GuiName "English (Canada)"
341 # PolyglossiaName english
342 # PolyglossiaOpts "variant=canadian"
348 # not yet supported by polyglossia
349 # Note: If polyglossia support gets implemented, french needs
350 # PolyglossiaOpts "variant=french"
352 GuiName "French (Canada)"
354 # PolyglossiaName french
355 # PolyglossiaOpts "variant=canadien"
365 PolyglossiaName catalan
366 PolyglossiaOpts "babelshorthands=true"
373 Language chinese-simplified
374 GuiName "Chinese (simplified)"
383 Language chinese-traditional
384 GuiName "Chinese (traditional)"
392 # not supported by babel
395 PolyglossiaName coptic
403 PolyglossiaName croatian
413 PolyglossiaName czech
423 PolyglossiaName danish
429 # not supported by babel
431 GuiName "Divehi (Maldivian)"
432 PolyglossiaName divehi
441 PolyglossiaName dutch
442 PolyglossiaOpts "babelshorthands=true"
452 PolyglossiaName english
453 PolyglossiaOpts "variant=american"
459 # Esperanto has no country code because it is an auxiliary language.
460 # We therefore the name of its hunspell dictionary.
464 PolyglossiaName esperanto
473 PolyglossiaName estonian
478 \addto\extrasestonian{\bbl@deactivate{~}}
482 # the preamble definitions are only used due to bugs in the
483 # arabi-package -- remove them if they become unnecessary!
487 PolyglossiaName farsi
494 \DeclareTextSymbol{\guillemotright}{LFE}{62}
495 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
503 PolyglossiaName finnish
509 # We redefine \og and \fg (guillemets) for older french language definitions
514 PolyglossiaName french
519 \addto\extrasfrench{%
520 \providecommand{\og}{\leavevmode\flqq~}%
521 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
530 PolyglossiaName friulan
540 PolyglossiaName galician
545 \addto\shorthandsgalician{\galiciandeactivate{~}}
558 # german does not use a country code (due to the variety)
560 GuiName "German (old spelling)"
562 PolyglossiaName german
563 PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
574 PolyglossiaName german
575 PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
581 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
582 # We introduce it with LyX 2.2 to give the support time to settle.
583 # In polyglossia, this is supported since release 1.33.6 (May 2015)
584 # We introduce it with LyX 2.3 to give the support time to settle.
586 GuiName "German (Switzerland)"
587 BabelName nswissgerman
588 PolyglossiaName german
589 PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
595 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
596 # In polyglossia, this is supported since release 1.33.6 (May 2015)
597 # We introduce it with LyX 2.3 to give the support time to settle.
598 Language german-ch-old
599 GuiName "German (Switzerland, old spelling)"
600 BabelName swissgerman
601 PolyglossiaName german
602 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
612 PolyglossiaName greek
613 PolyglossiaOpts "variant=monotonic"
616 InternalEncoding true
621 Language polutonikogreek
622 GuiName "Greek (polytonic)"
623 BabelName polutonikogreek
624 PolyglossiaName greek
625 PolyglossiaOpts "variant=polytonic"
628 InternalEncoding true
637 PolyglossiaName hebrew
640 InternalEncoding true
641 # Hebrew babel loads the font encodings
642 # itself in the appropriate order
648 # not supported by babel
651 PolyglossiaName hindi
656 # Currently not supported (file format change!)
657 # "hungarian" is a synonym for the "magyar" babel language option
658 # "hungarian" might be used for special purposes,
659 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
661 # GuiName "Hungarian"
662 # BabelName hungarian
671 PolyglossiaName icelandic
677 # Interlingua has no official country code because it is an auxiliary
678 # language. We therefore the name of its hunspell dictionary.
680 GuiName "Interlingua"
682 BabelName interlingua
683 PolyglossiaName interlingua
692 PolyglossiaName irish
702 PolyglossiaName italian
708 # japanese must be loaded locally with babel options,
709 # not globally via class options
710 # http://www.lyx.org/trac/ticket/4597#c4
711 # Since japanese does not load fontenc, we set
712 # InternalEncoding to true.
721 InternalEncoding true
727 Language japanese-cjk
728 GuiName "Japanese (CJK)"
735 # not supported by babel
738 PolyglossiaName kannada
743 # not yet supported by polyglossia
744 # not supported by babel
751 \AtBeginDocument{\fontencoding{T2A}\selectfont}
755 # not supported by babel
758 PolyglossiaName khmer
771 # not yet supported by polyglossia
780 # not supported by babel
788 # There is no country code for Latin because it is a dead language.
789 # We therefore the name of its hunspell dictionary.
793 PolyglossiaName latin
798 # latvian must be loaded locally with babel options,
799 # not globally via class options
803 PolyglossiaName latvian
806 # FontEncoding L7x # (required for hyphenation but not set by babel)
811 # lithuanian must be loaded locally with babel options,
812 # not globally via class options
816 PolyglossiaName lithuanian
824 Language lowersorbian
825 GuiName "Lower Sorbian"
826 BabelName lowersorbian
827 PolyglossiaName lsorbian
837 PolyglossiaName magyar
843 # not yet supported by polyglossia
853 # not supported by babel
856 PolyglossiaName marathi
861 # mongolian must be loaded locally with babel options,
862 # not globally via class options
863 # not yet supported by polyglossia
874 GuiName "English (New Zealand)"
876 PolyglossiaName english
877 PolyglossiaOpts "variant=newzealand"
884 GuiName "Norwegian (Bokmaal)"
887 PolyglossiaName norsk
894 GuiName "Norwegian (Nynorsk)"
897 PolyglossiaName nynorsk
903 # not supported by babel
906 PolyglossiaName occitan
912 # Currently not supported (file format change!)
913 # Russian orthography from the Petrine orthographic reforms of
914 # 1708 to the 1917 orthographic reform
915 # Note: If this is enabled, russian needs to get
916 # PolyglossiaOpts "spelling=modern"
917 # Language oldrussian
918 # GuiName "Russian (Petrine orthography)"
919 # PolyglossiaName russian
920 # PolyglossiaOpts "spelling=old"
921 # LangCode ru_petr1708
926 GuiName "Piedmontese"
928 BabelName piedmontese
929 PolyglossiaName piedmontese
939 PolyglossiaName polish
942 # FontEncoding QX # (required for hyphenation but not set by babel)
950 PolyglossiaName portuges
960 PolyglossiaName romanian
970 PolyglossiaName romansh
980 PolyglossiaName russian
990 PolyglossiaName samin
995 # not supported by babel
998 PolyglossiaName sanskrit
1006 PolyglossiaName scottish
1012 # Note: script option is uppercase, even if the polyglossia
1013 # manual states otherwise.
1018 PolyglossiaName serbian
1019 PolyglossiaOpts "script=Cyrillic"
1027 # Note: script option is uppercase, even if the polyglossia
1028 # manual states otherwise.
1029 Language serbian-latin
1030 GuiName "Serbian (Latin)"
1032 PolyglossiaName serbian
1033 PolyglossiaOpts "script=Latin"
1036 LangCode sr_RS-Latin
1043 PolyglossiaName slovak
1052 PolyglossiaName slovenian
1062 PolyglossiaName spanish
1067 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1068 EndPostBabelPreamble
1071 # there are no spanish shorthands in polyglossia
1072 Language spanish-mexico
1073 GuiName "Spanish (Mexico)"
1075 PolyglossiaName spanish
1080 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1081 EndPostBabelPreamble
1088 PolyglossiaName swedish
1094 # not supported by babel
1097 PolyglossiaName syriac
1103 # not supported by babel
1106 PolyglossiaName tamil
1111 # not supported by babel
1114 PolyglossiaName telugu
1122 PolyglossiaName thai
1128 \usepackage{thswitch}
1129 EndPostBabelPreamble
1132 # not supported by babel
1135 PolyglossiaName tibetan
1144 PolyglossiaName turkish
1149 \usepackage{xkeyval}
1150 EndPostBabelPreamble
1153 # turkmen must be loaded locally with babel options,
1154 # not globally via class options
1158 PolyglossiaName turkmen
1169 PolyglossiaName ukrainian
1176 Language uppersorbian
1177 GuiName "Upper Sorbian"
1178 BabelName uppersorbian
1179 PolyglossiaName usorbian
1185 # not supported by babel
1188 PolyglossiaName urdu
1194 # vietnam must be loaded locally with babel options,
1195 # not globally via class options, see
1196 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1198 GuiName "Vietnamese"
1200 PolyglossiaName vietnamese
1211 PolyglossiaName welsh