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 <danish|english|french|german|polish|swedish>
16 # InternalEncoding <true|false>
18 # AsBabelOptions <true|false>
19 # LangCode <language_code>
20 # LangVariety <language_variety>
22 # <extra latex code inserted before babel>
25 # <extra latex code inserted after babel>
26 # EndPostBabelPreamble
27 # Requires <requirement>
33 # * Omitted elements will be treated as empty (if string) or "false"
35 # * When HasGuiSupport is true, the language is candidate to appear in
36 # the list of possible GUI languages in the Preferences dialog. It
37 # will actually appear there only if a corresponding .mo file can be
38 # found among the translations. When several languages correspond to
39 # the same translation -- like English, English (US) and English
40 # (UK) -- try to select the entry that is most generic -- here
42 # * The QuoteStyle arguments correspond to the following styles:
43 # - danish: >>text<< >text< (inward guillemets)
44 # - english: ``text'' `text' (66_99)
45 # - french: <<text>> <text> (outward guillemets)
46 # - german: ,,text`` ,text` (99/66)
47 # - polish: ,,text'' ,text' (99/99)
48 # - swedish: ''text'' 'text' (99_99)
49 # Note that the option names have been selected (rather arbitrarily)
50 # because the respective styles are common in the respective countries.
51 # Of course this does not imply any fixed relation to those countries.
52 # * Encoding is the default encoding used with TeX fonts.
53 # It is only used if Document > Settings > Language > Encoding
54 # is set to "Language Default" and "use non-TeX fonts" is FALSE.
55 # * InternalEncoding is used to tell LyX that babel internally sets a
56 # non-standard font encoding (such as hebrew to LHE or greek to LGR).
57 # If True, LyX cares for characters/macros that do not exist in
58 # some font encodings ("<", ">", "|" and straight quote).
59 # It is not required for standard encodings like T2A. See bug #5091.
60 # * "FontEncoding none" tells LyX that fontenc should not be loaded with this
62 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
63 # globally to the class. Some languages (basically those not directly
64 # supported by babel) need this.
65 # FIXME: in this case, we might still need to pass the other languages
66 # globally, for the use of other packages (such as varioref).
67 # * LangCode is also used for spellchecking and thesaurus, where the
68 # dictionaries are named accordingly. Thus, check this when introducing/
69 # changing language codes (especially aspell, thesaurus).
70 # TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
71 # http://www.rfc-editor.org/rfc/bcp/bcp47.txt
72 # http://www.w3.org/International/articles/language-tags/
73 # http://www.iana.org/assignments/language-subtag-registry
74 # * LangVariety is used by the aspell spellchecker to differentiate
75 # dictionaries for different varieties of a given language (e.g. German
76 # pre-1998 and post-1998 spelling). The aspell dictionaries are named
77 # language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
78 # spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
80 ##########################################################################
83 # LyX-internal languages
89 PolyglossiaName ignore
104 # not yet supported by polyglossia
116 PolyglossiaName albanian
123 GuiName "English (USA)"
125 PolyglossiaName english
126 PolyglossiaOpts "variant=american"
132 # not supported by babel
135 PolyglossiaName amharic
140 # In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
141 # We introduce it with LyX 2.2 to give the support time to settle.
142 Language ancientgreek
143 GuiName "Greek (ancient)"
146 \languageattribute{greek}{ancient}
148 PolyglossiaName greek
149 PolyglossiaOpts variant=ancient
152 InternalEncoding true
157 # FIXME: dummy babel language for arabic_arabtex to be able
158 # to switch the language the way of the ArabTeX-package
159 Language arabic_arabtex
160 GuiName "Arabic (ArabTeX)"
169 # polyglossia uses "Arabic" for the lang environment
170 Language arabic_arabi
171 GuiName "Arabic (Arabi)"
173 PolyglossiaName arabic
176 FontEncoding "LFE,LAE"
182 # not supported by babel
185 PolyglossiaName armenian
191 # not supported by babel
194 PolyglossiaName asturian
201 GuiName "English (Australia)"
203 PolyglossiaName english
204 PolyglossiaOpts "variant=australian"
210 # In polyglossia, this is supported since release 1.33.4 (May 2014)
211 # We introduce it with LyX 2.2 to give the support time to settle.
213 GuiName "German (Austria, old spelling)"
215 PolyglossiaName german
216 PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true"
222 # In polyglossia, this is supported since release 1.33.4 (May 2014)
223 # We introduce it with LyX 2.2 to give the support time to settle.
225 GuiName "German (Austria)"
227 PolyglossiaName german
228 PolyglossiaOpts "variant=austrian,babelshorthands=true"
238 PolyglossiaName bahasai
247 PolyglossiaName bahasam
257 PolyglossiaName basque
262 \addto\extrasbasque{\bbl@deactivate{~}}
266 # not yet supported by polyglossia
276 # not yet supported by polyglossia
286 GuiName "Portuguese (Brazil)"
289 PolyglossiaName brazil
298 PolyglossiaName breton
305 GuiName "English (UK)"
307 PolyglossiaName english
308 PolyglossiaOpts "variant=british"
317 PolyglossiaName bulgarian
324 # not yet supported by polyglossia
326 GuiName "English (Canada)"
328 # PolyglossiaName english
329 # PolyglossiaOpts "variant=canadian"
335 # not yet supported by polyglossia
337 GuiName "French (Canada)"
339 # PolyglossiaName french
340 # PolyglossiaOpts "variant=canadien"
350 PolyglossiaName catalan
351 PolyglossiaOpts "babelshorthands=true"
358 Language chinese-simplified
359 GuiName "Chinese (simplified)"
368 Language chinese-traditional
369 GuiName "Chinese (traditional)"
377 # not supported by babel
380 PolyglossiaName coptic
388 PolyglossiaName croatian
398 PolyglossiaName czech
408 PolyglossiaName danish
414 # not supported by babel
416 GuiName "Divehi (Maldivian)"
417 PolyglossiaName divehi
426 PolyglossiaName dutch
427 PolyglossiaOpts "babelshorthands=true"
437 PolyglossiaName english
443 # Esperanto has no country code because it is an auxiliary language.
444 # We therefore the name of its hunspell dictionary.
448 PolyglossiaName esperanto
457 PolyglossiaName estonian
462 \addto\extrasestonian{\bbl@deactivate{~}}
466 # the preamble definitions are only used due to bugs in the
467 # arabi-package -- remove them if they become unnecessary!
471 PolyglossiaName farsi
473 FontEncoding "LFE,LAE"
477 \DeclareTextSymbol{\guillemotright}{LFE}{62}
478 \DeclareTextSymbol{\guillemotleft}{LFE}{60}
486 PolyglossiaName finnish
492 # We redefine \og and \fg (guillemets) for older french language definitions
497 PolyglossiaName french
502 \addto\extrasfrench{%
503 \providecommand{\og}{\leavevmode\flqq~}%
504 \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
513 PolyglossiaName friulan
523 PolyglossiaName galician
528 \addto\shorthandsgalician{\galiciandeactivate{~}}
541 # german does not use a country code (due to the variety)
543 GuiName "German (old spelling)"
545 PolyglossiaName german
546 PolyglossiaOpts "spelling=old,babelshorthands=true"
557 PolyglossiaName german
558 PolyglossiaOpts "babelshorthands=true"
564 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
565 # We introduce it with LyX 2.2 to give the support time to settle.
566 # In polyglossia, this is supported since release 1.33.6 (May 2015)
567 # We introduce it with LyX 2.3 to give the support time to settle.
569 GuiName "German (Switzerland)"
570 BabelName nswissgerman
571 PolyglossiaName german
572 PolyglossiaOpts "variant=swiss,babelshorthands=true"
578 # In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
579 # In polyglossia, this is supported since release 1.33.6 (May 2015)
580 # We introduce it with LyX 2.3 to give the support time to settle.
581 Language german-ch-old
582 GuiName "German (Switzerland, old spelling)"
583 BabelName swissgerman
584 PolyglossiaName german
585 PolyglossiaOpts "variant=swiss,spelling=old,babelshorthands=true"
595 PolyglossiaName greek
598 InternalEncoding true
603 Language polutonikogreek
604 GuiName "Greek (polytonic)"
605 BabelName polutonikogreek
606 PolyglossiaName greek
607 PolyglossiaOpts "variant=polytonic"
610 InternalEncoding true
619 PolyglossiaName hebrew
622 InternalEncoding true
623 # Hebrew babel loads the font encodings
624 # itself in the appropriate order
630 # not supported by babel
633 PolyglossiaName hindi
638 # Currently not supported (file format change!)
639 # "hungarian" is a synonym for the "magyar" babel language option
640 # "hungarian" might be used for special purposes,
641 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
643 # GuiName "Hungarian"
644 # BabelName hungarian
652 PolyglossiaName icelandic
658 # Interlingua has no official country code because it is an auxiliary
659 # language. We therefore the name of its hunspell dictionary.
661 GuiName "Interlingua"
663 BabelName interlingua
664 PolyglossiaName interlingua
672 PolyglossiaName irish
682 PolyglossiaName italian
688 # japanese must be loaded locally with babel options,
689 # not globally via class options
690 # http://www.lyx.org/trac/ticket/4597#c4
691 # Since japanese does not load fontenc, we set
692 # InternalEncoding to true.
701 InternalEncoding true
706 Language japanese-cjk
707 GuiName "Japanese (CJK)"
713 # not supported by babel
716 PolyglossiaName kannada
721 # not yet supported by polyglossia
722 # not supported by babel
729 \AtBeginDocument{\fontencoding{T2A}\selectfont}
733 # not supported by babel
736 PolyglossiaName khmer
749 # not yet supported by polyglossia
758 # not supported by babel
766 # There is no country code for Latin because it is a dead language.
767 # We therefore the name of its hunspell dictionary.
771 PolyglossiaName latin
776 # latvian must be loaded locally with babel options,
777 # not globally via class options
781 PolyglossiaName latvian
784 # FontEncoding L7x # (required for hyphenation but not set by babel)
789 # lithuanian must be loaded locally with babel options,
790 # not globally via class options
794 PolyglossiaName lithuanian
802 Language lowersorbian
803 GuiName "Lower Sorbian"
804 BabelName lowersorbian
805 PolyglossiaName lsorbian
815 PolyglossiaName magyar
821 # not yet supported by polyglossia
831 # not supported by babel
834 PolyglossiaName marathi
839 # mongolian must be loaded locally with babel options,
840 # not globally via class options
841 # not yet supported by polyglossia
852 GuiName "English (New Zealand)"
854 PolyglossiaName english
855 PolyglossiaOpts "variant=newzealand"
862 GuiName "Norwegian (Bokmaal)"
865 PolyglossiaName norsk
872 GuiName "Norwegian (Nynorsk)"
875 PolyglossiaName nynorsk
881 # not supported by babel
884 PolyglossiaName occitan
890 # Currently not supported (file format change!)
891 # Russian orthography from the Petrine orthographic reforms of
892 # 1708 to the 1917 orthographic reform
893 # Language oldrussian
894 # GuiName "Russian (Petrine orthography)"
895 # PolyglossiaName russian
896 # PolyglossiaOpts spelling=old
897 # LangCode ru_petr1708
901 GuiName "Piedmontese"
903 BabelName piedmontese
904 PolyglossiaName piedmontese
914 PolyglossiaName polish
917 # FontEncoding QX # (required for hyphenation but not set by babel)
925 PolyglossiaName portuges
935 PolyglossiaName romanian
945 PolyglossiaName romansh
955 PolyglossiaName russian
965 PolyglossiaName samin
970 # not supported by babel
973 PolyglossiaName sanskrit
981 PolyglossiaName scottish
991 PolyglossiaName serbian
999 Language serbian-latin
1000 GuiName "Serbian (Latin)"
1002 PolyglossiaName serbian
1003 PolyglossiaOpts "script=Latin"
1006 LangCode sr_RS-Latin
1013 PolyglossiaName slovak
1022 PolyglossiaName slovenian
1032 PolyglossiaName spanish
1037 \addto\shorthandsspanish{\spanishdeactivate{~<>}}
1038 EndPostBabelPreamble
1041 # there are no spanish shorthands in polyglossia
1042 Language spanish-mexico
1043 GuiName "Spanish (Mexico)"
1045 PolyglossiaName spanish
1050 \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
1051 EndPostBabelPreamble
1058 PolyglossiaName swedish
1064 # not supported by babel
1067 PolyglossiaName syriac
1073 # not supported by babel
1076 PolyglossiaName tamil
1081 # not supported by babel
1084 PolyglossiaName telugu
1092 PolyglossiaName thai
1098 \usepackage{thswitch}
1099 EndPostBabelPreamble
1102 # not supported by babel
1105 PolyglossiaName tibetan
1114 PolyglossiaName turkish
1119 \usepackage{xkeyval}
1120 EndPostBabelPreamble
1123 # turkmen must be loaded locally with babel options,
1124 # not globally via class options
1128 PolyglossiaName turkmen
1139 PolyglossiaName ukrainian
1146 Language uppersorbian
1147 GuiName "Upper Sorbian"
1148 BabelName uppersorbian
1149 PolyglossiaName usorbian
1155 # not supported by babel
1158 PolyglossiaName urdu
1164 # vietnam must be loaded locally with babel options,
1165 # not globally via class options, see
1166 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
1168 GuiName "Vietnamese"
1170 PolyglossiaName vietnamese
1181 PolyglossiaName welsh