##########################################################################
#
# Languages supported by LyX.
#
# Syntax:
#
# Language <lyxname>
#	GuiName            "<Gui Name>"
#	HasGuiSupport      <true|false>
#	BabelName          <babelname>
#	BabelProvide       <0|1|2>
#	BabelOpts          "<language-specific options>"
#       BabelOptFormat     <format of option specification>
#	PolyglossiaName    <polyglossianame>
#	PolyglossiaOpts    "<language-specific options>"
#	XindyName          <xindyname>
#	ActiveChars        <activated characters>
#	QuoteStyle         <british|danish|english|french|frenchin|
#                           german|polish|russian|swedish|swedishg|swiss|hebrew|plain>
#     	DateFormats        "<long>|<medium>|<short>"
#	Encoding           <encoding>
#	FontEncoding       <font encoding|font encoding|...>
#	InternalEncoding   <true|false>
#	RTL                <true|false>
#	WordWrap	   <true|false>
#	LangCode           <language_code>
#	LangVariety        <language_variety>
#	PreBabelPreamble
#	  <extra latex code inserted before babel>
#	EndPreBabelPreamble
#	PostBabelPreamble
#	  <extra latex code inserted after babel>
#	EndPostBabelPreamble
#	Requires           <requirement>
#	Provides           <babel language feature>
# End
#
#
# NOTES:
#
# * If we provide Polyglossia languages with different options, the default
#   options (such as "variant=american", "spelling=modern") should be
#   explicitely spelled out (in order to provide mixing of such variants).
# * Omitted elements will be treated as empty (if string) or "false"
#   (if boolean).
# * When HasGuiSupport is true, the language is candidate to appear in
#   the list of possible GUI languages in the Preferences dialog. It
#   will actually appear there only if a corresponding .mo file can be
#   found among the translations. When several languages correspond to
#   the same translation -- like English, English (US) and English
#   (UK) -- try to select the entry that is most generic -- here
#   English.
# * The QuoteStyle arguments correspond to the following styles:
# 		   PRIMARY		SECONDARY
#   - british:	  `text'		``text''	(6_9 -- 66_99)
#   - cjk:        corner brackets	white corner br.
#   - cjk-angle:  double angle br.	angle br.
#   - danish:	  >>text<<		>text<		(inward guillemets)
#   - english:	  ``text''		`text'		(66_99 -- 6_9)
#   - french:	  <<text>>		``text''	(outward guillemets -- 66_99)
#   - frenchin:   <<text>>		<<text>>	(French Imprimerie Nationale style)
#   - german:	  ,,text``		,text`		(99/66 -- 9/6)
#   - hebrew:	  ''text,,		'text,		(99/99 -- 9/9)
#   - hungarian:  ,,text''		>>text<<	(99/99 -- double inward guillemets)
#   - polish:	  ,,text''		,text'		(99/99 -- 9/9)
#   - russian:    <<text>>		,,text``       	(outward guillemets -- 99/66)
#   - swedish:	  ''text''		'text'		(99_99 -- 9_9)
#   - swedishg:   >>text>>		'text'		(Swedish Guillemets)
#   - swiss:	  <<text>>		<text>		(outward guillemets)
#   - plain:	  "text"		'text'		(non-typographical quotes)
#   Note that the option names have been selected (rather arbitrarily)
#   because the respective styles are common in the respective countries.
#   Of course this does not imply any fixed relation to those countries.
# * DateFormats lists the localized conventions for three date forms:
#   - Long: December 1, 2018
#   - Medium: Dec 1, 2018
#   - Short: 1/12/2018
#   These are separated by | and use the QDate syntax:
#   * d	the day as number without a leading zero (1 to 31)
#   * dd	the day as number with a leading zero (01 to 31)
#   * ddd	the abbreviated localized day name (e.g. 'Mon' to 'Sun')
#   * dddd	the long localized day name (e.g. 'Monday' to 'Sunday')
#   * M	the month as number without a leading zero (1 to 12)
#   * MM	the month as number with a leading zero (01 to 12)
#   * MMM	the abbreviated localized month name (e.g. 'Jan' to 'Dec')
#   * MMMM	the long localized month name (e.g. 'January' to 'December')
#   * yy	the year as two digit number (00 to 99)
#   * yyyy	the year as four digit number
# * Encoding is the default encoding used with TeX fonts.
#   It is only used if Document > Settings > Language > Encoding
#   is set to "Language Default" or "Language Default (no inputenc)"
#   and "use non-TeX fonts" is FALSE.
#   Encoding "inherit" means: keep encoding of the context (used by
#   latex_language).
# * FontEncoding is a bar-separated list of font encodings.
#   The first value is the required font encoding for correct hyphenation with
#   8-bit TeX (http://www.hyphenation.org). Eventually following values may be
#   used if the selected font is unavailable in FontEncoding. They provide all
#   letters used in the language, but some only as "surrogate pairs" with
#   possible problems for hyphenation and drag-and-drop from the generated
#   documents. Default: "ASCII".
#   * "FontEncoding ASCII" means: "works with any standard text encoding
#     (T<n>) as well as OT1".
#   * "FontEncoding none" tells LyX that fontenc should not be loaded with
#     this language.
# * InternalEncoding is used to tell LyX that babel internally sets a
#   non-standard font encoding (such as hebrew to LHE or greek to LGR).
#   If True, LyX takes care for characters/macros that do not exist in
#   some font encodings ("<", ">", "|" and straight quote).
#   It is not required for standard encodings like T2A. See bug #5091.
# * WordWrap is only used for on-screen display: when is is true (the default), rows are broken
#   at word boundary; otherwise, they can be ended at arbitrary position. This
#   setting is useful for CJK languages.
# * LangCode is also used for spellchecking and thesaurus, where the
#   dictionaries are named accordingly. Thus, check this when introducing/
#   changing language codes (especially aspell, thesaurus).
#   TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
#         http://www.rfc-editor.org/rfc/bcp/bcp47.txt
#         http://www.w3.org/International/articles/language-tags/
#         http://www.iana.org/assignments/language-subtag-registry
# * LangVariety is used by the aspell spellchecker to differentiate
#   dictionaries for different varieties of a given language (e.g. German
#   pre-1998 and post-1998 spelling). The aspell dictionaries are named
#   language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
#   spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
# * Provides lists features that are provided by specific Babel languages,
#   but are available globally if this language is used (not only for this
#   language. Examples are \textgreek (Greek) and \textcyrillic (Russian).
# * ActiveChars provides a string of the characters that are made active
#   by the language. We record particularly those characters that have to
#   be de-activated in some contexts (such as - or =).
# * XindyName holds the value to the (te)xindy -L option. We only give it
#   if a corresponding language module exists.
# * BabelProvide determines if and when a language should be loaded from
#   babel *.ini files with babel. Possible values:
#   0 (= never, default), 1 (always), 2 (with Unicode engines/non-TeX fonts).
#   The latter advises babel to ignore existing *.ldf files.
# * BabelOpts are comma separated, no matter how they shall be represented
#   in the output.
# * BabelOptFormat specifies how the language-specific options shall be
#   passed with babel (which differs between languages).
#   You can use the placeholders $lang$ and $opts$ (as in
#   \languageattribute{$lang$}{$opts$})
#   The special value "modifier" indicates to use babel modifiers.
#
##########################################################################

#
# LyX-internal languages
#

Language ignore
	GuiName          "Ignore"
	BabelName        ignore
	PolyglossiaName  ignore
	Encoding         inherit
	LangCode         ignore
End

Language latex
	GuiName          "LaTeX"
	Encoding         inherit
	LangCode         latex
End

#
# Real languages
#

Language afrikaans
	GuiName          "Afrikaans"
	BabelName        afrikaans
	PolyglossiaName  afrikaans
	QuoteStyle       polish
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|yyyy/MM/dd"
	LangCode         af_ZA
End

# FontEncoding: no hyphenation, but uses Ç/ç und Ë/ë
Language albanian
	GuiName          "Albanian"
	BabelName        albanian
	# babel-albanian (albanian.ldf) (re-)defines the functions
	# \sh \ch \th \cth \arsh \arch \arth \arcth \tg \ctg \arctg
	# as math operators. This clashes with \th == letter thorn
	# in font encoding T1
	PostBabelPreamble
	  % fix albanian: restore \th as LATIN LETTER THORN
	  \@ifl@aded{def}{t1enc}{\DeclareTextSymbol{\th}{T1}{254}}{}
	EndPostBabelPreamble
	PolyglossiaName  albanian
	XindyName        albanian
	QuoteStyle       swiss
	Encoding         iso8859-2
	FontEncoding     T1|OT1
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
	LangCode         sq_AL
End

Language american
	GuiName          "English (USA)"
	BabelName        american
	PolyglossiaName  english
	PolyglossiaOpts  "variant=american"
	XindyName        english
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
	LangCode         en_US
End

Language amharic
	GuiName          "Amharic"
	BabelName        amharic
	BabelProvide     1
	PolyglossiaName  amharic
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
	LangCode         am_ET
End

# In Babel, this is supported since v. 1.8a of babel-greek (2013-12-03)
# We introduce it with LyX 2.2 to give the support time to settle.
Language ancientgreek
	GuiName          "Greek (ancient)"
	BabelName        ancientgreek
	BabelProvide     1
	PolyglossiaName  greek
	PolyglossiaOpts  "variant=ancient"
	XindyName        greek
	QuoteStyle       french
	Encoding         iso8859-7
	InternalEncoding true
	FontEncoding     LGR
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
	LangCode         grc_GR
	Provides         textgreek
End

# FIXME: dummy babel language for arabic_arabtex to be able
# to switch the language the way of the ArabTeX-package
Language arabic_arabtex
	GuiName          "Arabic (ArabTeX, only with TeX fonts)"
	HasGuiSupport    true
	BabelName        arabtex
	QuoteStyle       french
	Encoding         cp1256
	DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
	RTL              true
	LangCode         ar_SA
End

# polyglossia uses "Arabic" for the lang environment
Language arabic_arabi
	GuiName          "Arabic (Arabi or non-TeX fonts)"
	BabelName        arabic
	BabelProvide     2
	PolyglossiaName  arabic
	QuoteStyle       french
	Encoding         cp1256
	FontEncoding     LAE
	DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
	RTL              true
	PostBabelPreamble
	  \@ifundefined{if@rl}{}{
		  % arabic + hyperref redefines \noboundary as local textcommand
		  \let\orig@noboundary\noboundary
		  \DeclareTextCommandDefault{\noboundary}{\orig@noboundary}
		  % work around too simple test for article-like classes in arabicore.sty
		  \@ifundefined{chapter}{
		    \def\thesection{\protect\if@rl\protect\I{\number\c@section}%
		      \protect\else\protect\textLR{\number\c@section}%
		      \protect\fi}
		    \def\thesubsection{\protect\if@rl\protect\I{\number\c@subsection.\number\c@section}%
		      \protect\else\protect\textLR{\number\c@section.\number\c@subsection}%
		      \protect\fi}
		    \def\thetable{\protect\if@rl\protect\I{\number\c@table}%
		      \protect\else\protect\textLR{\number\c@table}%
		      \protect\fi}
		    \def\thefigure{\protect\if@rl\protect\I{\number\c@figure}%
		      \protect\else\protect\textLR{\number\c@figure}%
		      \protect\fi}
		  }{}
	  }
	EndPostBabelPreamble
	LangCode         ar_SA
End

Language armenian
	GuiName          "Armenian"
	BabelName        armenian
	BabelProvide     1
	PolyglossiaName  armenian
	QuoteStyle       swiss
	Encoding         utf8
	DateFormats      "d MMMM، yyyy|d MMM، yyyy|d/M/yyyy"
	LangCode         hy_AM
End

Language asturian
	GuiName          "Asturian"
	BabelName        asturian
	BabelProvide     1
	PolyglossiaName  asturian
	QuoteStyle       french
	Encoding         iso8859-15
	DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         ast_ES
End


Language australian
	GuiName          "English (Australia)"
	BabelName        australian
	PolyglossiaName  english
	PolyglossiaOpts  "variant=australian"
	XindyName        english
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	QuoteStyle       english
	LangCode         en_AU
End

# In polyglossia, this is supported since release 1.33.4 (May 2014)
# Due to the variety, we use no country code.
Language austrian
	GuiName          "German (Austria, old spelling)"
	BabelName        austrian
	BabelOptFormat   modifier
	PolyglossiaName  german
	PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
	XindyName        german-duden
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
	LangCode         de
	LangVariety      alt
End

# In polyglossia, this is supported since release 1.33.4 (May 2014)
Language naustrian
	GuiName          "German (Austria)"
	BabelName        naustrian
	BabelOptFormat   modifier
	PolyglossiaName  german
	PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
	XindyName        german-duden
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
	LangCode         de_AT
End

Language azerbaijani
	GuiName          "Azerbaijani"
	BabelName        azerbaijani
	QuoteStyle       russian
	Encoding         iso8859-9
	FontEncoding	 T2A,T1
	DateFormats      "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy"
	LangCode         az_AZ
	Requires         textschwa
        # use \cyrschwa in T1, allow hyphenation in remainder of word
	PostBabelPreamble
          \DeclareTextCommand{\textschwa}{T1}{\cyrschwa\bbl@allowhyphens}
          \DeclareTextCommand{\textSchwa}{T1}{\CYRSCHWA\bbl@allowhyphens}
	EndPostBabelPreamble
End

Language bahasa
	GuiName          "Indonesian"
	HasGuiSupport    true
	BabelName        bahasa
	PolyglossiaName  malay
	PolyglossiaOpts  "variant=indonesian"
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         id_ID
End

Language bahasam
	GuiName          "Malay"
	BabelName        bahasam
	PolyglossiaName  malay
	PolyglossiaOpts  "variant=malaysian"
	QuoteStyle       english
	Encoding         iso8859-15
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         ms_MY
End

Language basque
	GuiName          "Basque"
	HasGuiSupport    true
	BabelName        basque
	PolyglossiaName  basque
	QuoteStyle       swiss
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "yyyy MMMM dd|yyyy MMM dd|yyyy/MM/dd"
	LangCode         eu_ES
	PostBabelPreamble
	\addto\extrasbasque{\bbl@deactivate{~}}
	EndPostBabelPreamble
End

# Up to 2018-08-25 (babel-belarusian 1.4), the babel option is "belarusianb"
# but the language name "belarusian" (without trailing "b").
Language belarusian
	GuiName          "Belarusian"
	BabelName        belarusian
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  belarusian
	XindyName        belarusian
	QuoteStyle       french
	Encoding         cp1251
	FontEncoding	 T2A
	DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
	LangCode         be_BY
End

# supported by polyglossia but not babel:
Language bengali
	GuiName          "Bengali"
	BabelName        bengali
	BabelProvide     1
 	PolyglossiaName  bengali
	QuoteStyle       english
	Encoding         utf8
	LangCode	 be_IN
End


# The (rarely used) Cyrillic script is not supported (try serbian).
Language bosnian
	GuiName          "Bosnian"
	BabelName        bosnian
	PolyglossiaName  bosnian
	QuoteStyle       polish
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|yyyy-MM-dd"
	LangCode         bs_BA
End

Language brazilian
	GuiName          "Portuguese (Brazil)"
	HasGuiSupport    true
	BabelName        brazil
	PolyglossiaName  portuguese
	PolyglossiaOpts  "variant=brazilian"
	XindyName        portuguese
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
	LangCode         pt_BR
End

# FontEncoding: # ? no hyphenation, but uses ñ
Language breton
	GuiName          "Breton"
	BabelName        breton
	PolyglossiaName  breton
	QuoteStyle       french
	Encoding         iso8859-15
	#FontEncoding    T1
	DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
	LangCode         br_FR
End

Language british
	GuiName          "English (UK)"
	BabelName        british
	PolyglossiaName  english
	PolyglossiaOpts  "variant=british"
	XindyName        english
	QuoteStyle       british
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         en_GB
End

Language bulgarian
	GuiName          "Bulgarian"
	HasGuiSupport    true
	BabelName        bulgarian
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  bulgarian
	XindyName        bulgarian
	QuoteStyle       german
	Encoding         cp1251
	FontEncoding     T2A
	DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-M-d"
	LangCode         bg_BG
	Provides         textcyrillic
End

Language canadian
	GuiName          "English (Canada)"
	BabelName        canadian
	PolyglossiaName  english
	PolyglossiaOpts  "variant=canadian"
	XindyName        english
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding     ASCII
	DateFormats      "MMMM d, yyyy|d MMM yyyy|yyyy-MM-dd"
	LangCode         en_CA
End

Language canadien
	GuiName          "French (Canada)"
	BabelName        acadian
	PolyglossiaName  french
	PolyglossiaOpts  "variant=canadian"
	ActiveChars      ;!?:
	XindyName        french
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
	LangCode         fr_CA
End

Language catalan
	GuiName          "Catalan"
	HasGuiSupport    true
	BabelName        catalan
	PolyglossiaName  catalan
	PolyglossiaOpts  "babelshorthands=true"
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d / MMMM / yyyy|d / MMM / yyyy|dd/MM/yyyy"
	LangCode         ca_ES
End

# uses CJK package
Language chinese-simplified
	GuiName          "Chinese (simplified)"
	HasGuiSupport    true
	PolyglossiaName  chinese
	PolyglossiaOpts  "variant=simplified"
	Encoding         euc-cn
	QuoteStyle       english
	WordWrap         false
	LangCode         zh_CN
	DateFormats      "yyyy年M月d日|yyyy-M-d|yy-M-d"
	Requires         CJK
End

# uses CJK package
Language chinese-traditional
	GuiName         "Chinese (traditional)"
	HasGuiSupport    true
	PolyglossiaName  chinese
	PolyglossiaOpts  "variant=traditional"
	QuoteStyle       cjk
	Encoding         utf8-cjk
	WordWrap         false
	LangCode         zh_TW
	DateFormats      "yyyy年M月d日|yyyy年M月d日|yy年M月d日"
	Requires         CJK
End

Language churchslavonic
	GuiName         "Church Slavonic"
	BabelName        churchslavic
	BabelProvide     1
 	PolyglossiaName  churchslavonic
	QuoteStyle       swiss
	Encoding         utf8
	FontEncoding     T2A
	DateFormats      "d MMMM yyyy 'л'.|d MMM yyyy 'л'.|dd.MM.yyyy"
	LangCode         cu
	Provides         textcyrillic
End

# FIXME DateFormats
Language coptic
	GuiName          "Coptic"
	BabelName        coptic
	BabelProvide     1
	PolyglossiaName  coptic
	Encoding         utf8
	LangCode         cop_EG
End

Language croatian
	GuiName          "Croatian"
	BabelName        croatian
	PolyglossiaName  croatian
	XindyName        croatian
	QuoteStyle       polish
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy.|d. MMM. yyyy.|dd.MM.yyyy."
	LangCode         hr_HR
End

Language czech
	GuiName          "Czech"
	HasGuiSupport    true
	BabelName        czech
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  czech
	XindyName        czech
	QuoteStyle       german
	ActiveChars      -
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM. yyyy|d.M.yyyy"
	LangCode         cs_CZ
End

Language danish
	GuiName          "Danish"
	HasGuiSupport    true
	BabelName        danish
	PolyglossiaName  danish
	XindyName        danish
	QuoteStyle       danish
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
	LangCode         da_DK
End

# babel only provides a "bare minimum locale"
Language divehi
	GuiName          "Divehi (Maldivian)"
	BabelName        divehi
	BabelProvide     1
	PolyglossiaName  divehi
	Encoding         utf8
	DateFormats      "yyyy MMMM dd|yyyy MMM dd|dd/MM/yyyy"
	LangCode         dv_MV
End

Language dutch
	GuiName          "Dutch"
	HasGuiSupport    true
	BabelName        dutch
	PolyglossiaName  dutch
	PolyglossiaOpts  "babelshorthands=true"
	XindyName        dutch
	QuoteStyle       polish
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|d-M-yyyy"
	LangCode         nl_NL
End

Language english
	GuiName          "English"
	HasGuiSupport    true
	BabelName        english
	PolyglossiaName  english
	PolyglossiaOpts  "variant=american"
	XindyName        english
	QuoteStyle       english
	DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
	Encoding         iso8859-15
	FontEncoding	 ASCII
	LangCode         en_US
End

# Esperanto has no country code because it is an auxiliary language.
# We therefore use the name of its hunspell dictionary.
Language esperanto
	GuiName          "Esperanto"
	BabelName        esperanto
	PolyglossiaName  esperanto
	XindyName        esperanto
	QuoteStyle       english
	Encoding         iso8859-3
	FontEncoding	 IL3|T1|OT1
	DateFormats      "'la' d 'de' MMMM yyyy|'la' d 'de' MMM yyyy|MM/dd/yyyy"
	LangCode         eo_EO
End

Language estonian
	GuiName          "Estonian"
	BabelName        estonian
	BabelOpts        notilde
	BabelOptFormat   modifier
	PolyglossiaName  estonian
	XindyName        estonian
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
	LangCode         et_EE
End

# the preamble definitions are only used due to bugs in the
# arabi-package -- remove them if they become unnecessary!
Language farsi
	GuiName          "Farsi"
	BabelName        farsi
	BabelProvide     2
	PolyglossiaName  persian
	XindyName        persian
	Encoding         utf8
	FontEncoding     LAE,LFE
	DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy/M/d"
	RTL              true
	LangCode         fa_IR
	QuoteStyle       english
	PostBabelPreamble
	\DeclareTextSymbol{\guillemotright}{LFE}{62}
	\DeclareTextSymbol{\guillemotleft}{LFE}{60}
	EndPostBabelPreamble
End

Language finnish
	GuiName          "Finnish"
	HasGuiSupport    true
	BabelName        finnish
	PolyglossiaName  finnish
	XindyName        finnish
	QuoteStyle       swedish
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
	LangCode         fi_FI
End

Language french
	GuiName          "French"
	HasGuiSupport    true
	BabelName        french
	BabelOptFormat   \frenchsetup{$opts§}
	ActiveChars      ;!?:
	PolyglossiaName  french
	PolyglossiaOpts  "variant=french"
	XindyName        french
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         fr_FR
End

Language friulan
	GuiName          "Friulian"
	HasGuiSupport    true
	BabelName        friulan
	PolyglossiaName  friulian
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'di' MMMM 'dal' yyyy|d 'di' MMM 'dal' yyyy|dd/MM/yyyy"
	LangCode         fur_IT
End

Language galician
	GuiName          "Galician"
	HasGuiSupport    true
	BabelName        galician
	PolyglossiaName  galician
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
	LangCode         gl_ES
	PostBabelPreamble
	\addto\shorthandsgalician{\galiciandeactivate{~}}
	EndPostBabelPreamble
End

# FIXME DateFormats
Language georgian
	GuiName          "Georgian"
	BabelName        georgian
	PolyglossiaName  georgian
	XindyName        georgian
	QuoteStyle       german
	Encoding         utf8
	FontEncoding     T8M
	LangCode         ka_GE
End

# german does not use a country code (due to the variety)
Language german
	GuiName          "German (old spelling)"
	BabelName        german
	BabelOptFormat   modifier
	PolyglossiaName  german
	PolyglossiaOpts  "variant=german,spelling=old,babelshorthands=true"
	XindyName        german-duden
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
	LangCode         de
	LangVariety      alt
End

Language ngerman
	GuiName          "German"
	HasGuiSupport    true
	BabelName        ngerman
	BabelOptFormat   modifier
	PolyglossiaName  german
	PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
	XindyName        german-duden
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
	LangCode         de_DE
End

# In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
# We introduce it with LyX 2.2 to give the support time to settle.
# In polyglossia, this is supported since release 1.33.6 (May 2015)
# We introduce it with LyX 2.3 to give the support time to settle.
Language german-ch
	GuiName          "German (Switzerland)"
	BabelName        nswissgerman
	BabelOptFormat   modifier
	PolyglossiaName  german
	PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
	XindyName        german-duden
	QuoteStyle       swiss
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
	LangCode         de_CH
End

# In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
# In polyglossia, this is supported since release 1.33.6 (May 2015)
# We introduce it with LyX 2.3 to give the support time to settle.
Language german-ch-old
	GuiName          "German (Switzerland, old spelling)"
 	BabelName        swissgerman
	BabelOptFormat   modifier
 	PolyglossiaName  german
 	PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
	XindyName        german-duden
 	QuoteStyle       swiss
 	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
 	LangCode         de_CH
End

Language greek
	GuiName          "Greek"
	HasGuiSupport    true
	BabelName        greek
	BabelOptFormat   modifier
	PolyglossiaName  greek
	PolyglossiaOpts  "variant=monotonic"
	XindyName        greek
	QuoteStyle       french
	Encoding         iso8859-7
	InternalEncoding true
	FontEncoding     LGR
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
	LangCode         el_GR
	Provides         textgreek
End

Language polutonikogreek
	GuiName          "Greek (polytonic)"
	BabelName        polutonikogreek
	BabelOptFormat   modifier
	PolyglossiaName  greek
	PolyglossiaOpts  "variant=polytonic"
	XindyName        greek
	QuoteStyle       french
	Encoding         iso8859-7
	InternalEncoding true
	FontEncoding     LGR
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
	LangCode         el_GR
	Provides         textgreek
End

Language hebrew
	GuiName          "Hebrew"
	HasGuiSupport    true
	BabelName        hebrew
	BabelProvide     2
	PolyglossiaName  hebrew
	XindyName        hebrew
	Encoding         cp1255
	QuoteStyle       hebrew
	InternalEncoding true
	# babel-hebrew expects the encoding for *other* languages last:
	FontEncoding    HE8,T1|LHE,T1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	RTL              true
	LangCode         he_IL
End

Language hindi
	GuiName          "Hindi"
	BabelName        hindi
	BabelProvide     1
	PolyglossiaName  hindi
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd-MM-yyyy"
	LangCode         hi_IN
End

# FontEncoding: OT1 misses ð and Þ
Language icelandic
	GuiName          "Icelandic"
	BabelName        icelandic
	BabelOptFormat   modifier
	PolyglossiaName  icelandic
	XindyName        icelandic
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 T1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
	LangCode         is_IS
End

# Interlingua has no official country code because it is an auxiliary
# language. We use the name of its hunspell dictionary.
Language interlingua
	GuiName          "Interlingua"
	HasGuiSupport    true
	BabelName        interlingua
	PolyglossiaName  interlingua
	Encoding         iso8859-15
	FontEncoding	 ASCII
	LangCode         ia_IA
	DateFormats      "'le' d 'de' MMMM yyyy|'le' d 'de' MMM yyyy|yyyy-mm-dd"
	QuoteStyle       english
End

Language irish
	GuiName          "Irish"
	BabelName        irish
	PolyglossiaName  gaelic
	PolyglossiaOpts  "variant=irish"
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
	LangCode         ga_IE
End

Language italian
	GuiName          "Italian"
	HasGuiSupport    true
	BabelName        italian
	PolyglossiaName  italian
	XindyName        italian
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "dd MMMM yyyy|dd/MMM/yyyy|dd/MM/yyyy"
	LangCode         it_IT
End

# Since 2016-12-18, babel-japanese works with non-TeX fonts (Xe/LuaTeX), too
# (use with "Japanese (bxjs)" or standard document classes)
Language japanese
	GuiName          "Japanese"
	HasGuiSupport    true
	BabelName        japanese
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  japanese
	Encoding         jis-platex
	WordWrap         false
	LangCode         ja_JP
	Requires         japanese
	FontEncoding     ASCII
	DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
	QuoteStyle       cjk
End

# uses CJK package
Language japanese-cjk
	GuiName         "Japanese (CJK, only with TeX fonts)"
	Encoding        euc-jp
	DateFormats     "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
	WordWrap        false
	LangCode        ja_JP
	Requires        CJK
	QuoteStyle      cjk
End

Language kannada
	GuiName          "Kannada"
	BabelName        kannada
	BabelProvide     1
	PolyglossiaName  kannada
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd-MM-yyyy"
	LangCode         kn_IN
End

# not yet supported by polyglossia
Language kazakh
	GuiName          "Kazakh"
	BabelName        kazakh
	BabelProvide     1
	Encoding         ascii
	# FontEncoding   T2A # not set (no Babel support)
	DateFormats      "dd MMMM yyyy|dd MMMM yyyy|yyyy-dd-MM"
	LangCode         kk_KZ
End

Language khmer
	GuiName          "Khmer"
	BabelName        khmer
	BabelProvide     1
	PolyglossiaName  khmer
	Encoding         utf8
	DateFormats      "d MMMM yyyy|d MMMM yyyy|dd/MM/yyyy"
	LangCode         km_KH
End

Language korean
	GuiName         "Korean"
	PolyglossiaName korean
	XindyName       korean
	Encoding        euc-kr
	QuoteStyle      cjkangle
	DateFormats     "yyyy년 M월 d일|yyyy. M. d.|yy. M. d."
	WordWrap        false
	LangCode        ko_KR
	Requires        CJK
End

# Language korean-kotex
# 	GuiName         "Korean (koTeX)"
# 	Encoding        utf8
# 	QuoteStyle      cjkangle
# 	DateFormats     "yyyy년 M월 d일|yyyy. M. d.|yy. M. d."
# 	LangCode        ko_KR
# 	Requires        kotex
# End

Language kurmanji
	GuiName          "Kurdish (Kurmanji)"
	BabelName        kurmanji
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  kurdish
	PolyglossiaOpts  "variant=kurmanji"
	XindyName        kurdish-bedirxan
	Encoding         utf8
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
	LangCode         kmr
End


Language sorani
	GuiName          "Kurdish (Sorani)"
	BabelName        sorani
	BabelProvide     1
	PolyglossiaName  kurdish
	PolyglossiaOpts  "variant=sorani"
	XindyName        kurdish-bedirxan
	Encoding         utf8
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
	LangCode         ckb
End


Language lao
	GuiName          "Lao"
	BabelName        lao
	BabelProvide     1
	PolyglossiaName  lao
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd/MM/yyyy"
	LangCode         lo_LA
End

# There is no country code for Latin.
# We therefore use the name of its hunspell dictionary.
# FIXME DateFormats
Language latin
	GuiName          "Latin (Modern)"
	BabelName        latin
	BabelOptFormat   modifier
	PolyglossiaName  latin
	PolyglossiaOpts  "variant=modern"
	XindyName        latin
	ActiveChars      ^=
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	LangCode         la
End

Language latin-classic
	GuiName          "Latin (Classic)"
	BabelName        classiclatin
	BabelOptFormat   modifier
	PolyglossiaName  latin
	PolyglossiaOpts  "variant=classic"
	XindyName        latin
	ActiveChars      ^=
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	LangCode         la-x-classic
End

Language latin-ecclesiastic
	GuiName          "Latin (Ecclesiastic)"
	BabelName        ecclesiasticlatin
	BabelOptFormat   modifier
	PolyglossiaName  latin
	PolyglossiaOpts  "variant=ecclesiastic"
	XindyName        latin
	ActiveChars      ^=
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	LangCode         la-x-ecclesia
End

Language latin-medieval
	GuiName          "Latin (Medieval)"
	BabelName        medievallatin
	BabelOptFormat   modifier
	PolyglossiaName  latin
	PolyglossiaOpts  "variant=medieval"
	XindyName        latin
	ActiveChars      ^=
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	LangCode         la-x-medieval
End


# latvian must be loaded locally with babel options,
# not globally via class options
# FontEncoding: L7x required for hyphenation but not set by Babel
Language latvian
	GuiName          "Latvian"
	BabelName        latvian
	BabelOptFormat   modifier
	PolyglossiaName  latvian
	XindyName        latvian
	QuoteStyle       german
	Encoding         iso8859-4
	FontEncoding     L7x|T1|OT1
	DateFormats      "yyyy. 'gada' d. MMMM|yyyy. 'gada' d. MMM|dd.MM.yyyy"
	LangCode         lv_LV
End

# FontEncoding: L7x required for hyphenation but no longer set by Babel
# (since 2017-12-06)
Language lithuanian
	GuiName          "Lithuanian"
	BabelName        lithuanian
	PolyglossiaName  lithuanian
	XindyName        lithuanian
	QuoteStyle       german
	Encoding         iso8859-13
	FontEncoding     L7x
	# L7x defines \copyright as TextSymbol which leads to an endless loop
	# when it is used in other font encodings.
	PostBabelPreamble
	  \@ifl@aded{def}{l7xenc}{
	    % restore corrupted \coyright definition
	    \DeclareRobustCommand{\copyright}{%
	      \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi
	    }
	    % Switch to L7x and back
	    \addto\extraslithuanian{
	      \let\bbl@lithuanian@cfencoding\cf@encoding
	      \fontencoding{L7x}\selectfont
	      \def\encodingdefault{L7x}
	    }
	    \addto\noextraslithuanian{
	      \def\encodingdefault{\bbl@lithuanian@cfencoding}
	      \fontencoding{\encodingdefault}\selectfont
	    }  
	  }{}
	EndPostBabelPreamble
	DateFormats      "yyyy 'm.' MMMM d 'd.'|yyyy 'm.' MMMM d 'd.'|yyyy-MM-dd"
	LangCode         lt_LT
End

Language lowersorbian
	GuiName          "Lower Sorbian"
	BabelName        lowersorbian
	PolyglossiaName  sorbian
	PolyglossiaOpts  "variant=lower"
	XindyName        lower-sorbian
	QuoteStyle       german
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
	LangCode         dsb_DE
End

Language magyar
	GuiName          "Hungarian"
	HasGuiSupport    true
	BabelName        magyar
	BabelOptFormat   \magyarOptions{$opts§}
	PolyglossiaName  hungarian
	XindyName        hungarian
	QuoteStyle       hungarian
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "yyyy. MMMM d.|yyyy. MMM d.|yyyy.MM.dd."
	LangCode         hu_HU
End

Language macedonian
	GuiName          "Macedonian"
	BabelName        macedonian
	PolyglossiaName  macedonian
	XindyName        macedonian
	QuoteStyle       german
	Encoding         cp1251
	FontEncoding     T2A
	DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
	LangCode         mk_MK
	Provides         textcyrillic
End

Language malayalam
	GuiName          "Malayalam"
	BabelName        malayalam
	BabelProvide     1
	PolyglossiaName  malayalam
	Encoding         utf8
	QuoteStyle       english
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
	LangCode         ml_IN
End

Language marathi
	GuiName          "Marathi"
	BabelName        marathi
	BabelProvide     1
	PolyglossiaName  marathi
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
	LangCode         mr_IN
End

# mongolian must be loaded locally with babel options,
# not globally via class options
Language mongolian
	GuiName          "Mongolian"
	BabelName        mongolian
	PolyglossiaName  mongolian
	XindyName        mongolian
	Encoding         utf8
	FontEncoding     T2A
	DateFormats      "yyyy оны M сарын d|d-M-yyyy|dd-MM-yyyy"
	LangCode         mn_MN
	Provides         textcyrillic
End

Language newzealand
	GuiName          "English (New Zealand)"
	BabelName        newzealand
	PolyglossiaName  english
	PolyglossiaOpts  "variant=newzealand"
	XindyName        english
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         en_NZ
End

Language nko
 	GuiName		 "N'Ko"
	BabelName        nko
	BabelProvide     1
 	PolyglossiaName	 nko
 	QuoteStyle       swiss
 	Encoding         utf8
#       FIXME: DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
#       see gloss-nko.ldf
 	RTL              true
 	LangCode	 nqo
End

Language norsk
	GuiName          "Norwegian (Bokmaal)"
	HasGuiSupport    true
	BabelName        norsk
	PolyglossiaName  norwegian
	PolyglossiaOpts  "variant=bokmal"
	XindyName        norwegian
	QuoteStyle       swiss
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd./MM./yyyy"
	LangCode         nb_NO
End

Language nynorsk
	GuiName          "Norwegian (Nynorsk)"
	HasGuiSupport    true
	BabelName        nynorsk
	PolyglossiaName  norwegian
	PolyglossiaOpts  "variant=nynorsk"
	XindyName        norwegian
	QuoteStyle       swiss
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
	LangCode         nn_NO
End

Language occitan
	GuiName         "Occitan"
	BabelName	occitan
	PolyglossiaName occitan
	QuoteStyle      french
	Encoding        utf8
	DateFormats     "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode        oc_FR
End

Language odia
 	GuiName		 "Odia"
	BabelName        odia
	BabelProvide     1
 	PolyglossiaName	 odia
 	Encoding         utf8
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
 	LangCode	 or
End

# Russian orthography from the Petrine orthographic reforms of
# 1708 to the 1917 orthographic reform
Language oldrussian
	GuiName          "Russian (Petrine orthography)"
	BabelName	 russian
	BabelOpts	 ancient
	BabelOptFormat	 modifier
	PolyglossiaName  russian
	PolyglossiaOpts  "spelling=old"
	XindyName        russian
	QuoteStyle       russian
	Encoding         koi8-r
	FontEncoding     T2A
	LangCode         ru_petr1708
End

# FIXME DateFormats
Language piedmontese
	GuiName          "Piedmontese"
	HasGuiSupport    true
	BabelName        piedmontese
	PolyglossiaName  piedmontese
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 ASCII
	LangCode         pms_IT
End

# FontEncoding: QX required for hyphenation but not set by babel
Language polish
	GuiName          "Polish"
	HasGuiSupport    true
	BabelName        polish
	PolyglossiaName  polish
	XindyName        polish
	QuoteStyle       polish
	Encoding         iso8859-2
	FontEncoding     QX|T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
	LangCode         pl_PL
End

Language portuguese
	GuiName          "Portuguese"
	HasGuiSupport    true
	BabelName        portuges
	PolyglossiaName  portuguese
	PolyglossiaOpts  "variant=portuguese"
	XindyName        portuguese
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|yyyy/MM/dd"
	LangCode         pt_PT
End

Language punjabi
	GuiName          "Punjabi"
	BabelName        punjabi
	BabelProvide     1
	PolyglossiaName  punjabi
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd-MM-yyyy"
	LangCode         pa
End

Language romanian
	GuiName          "Romanian"
	HasGuiSupport    true
	BabelName        romanian
	PolyglossiaName  romanian
	XindyName        romanian
	QuoteStyle       polish
	Encoding         iso8859-16
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
	LangCode         ro_RO
End

Language romansh
	GuiName          "Romansh"
	HasGuiSupport    true
	BabelName        romansh
	PolyglossiaName  romansh
	QuoteStyle       german
	Encoding         iso8859-15
	FontEncoding	 ASCII
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
	LangCode         rm_CH
End

Language russian
	GuiName          "Russian"
	HasGuiSupport    true
	BabelName        russian
	BabelOptFormat   modifier
	PolyglossiaName  russian
	PolyglossiaOpts  "spelling=modern"
	XindyName        russian
	QuoteStyle       russian
	Encoding         koi8-r
	FontEncoding     T2A
	DateFormats      "d MMMM yyyy 'г'.|d MMM yyyy 'г'.|dd.MM.yyyy"
	LangCode         ru_RU
	Provides         textcyrillic
End

# FontEncoding: no hyphenation, but diacritics
Language samin
	GuiName          "North Sami"
	BabelName        samin
	PolyglossiaName  sami
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "MMMM d. 'b'. yyyy|MMM d. 'b'. yyyy|d.M.yyyy"
	LangCode         se_NO
End

Language sanskrit
	GuiName          "Sanskrit"
	PolyglossiaName  sanskrit
	BabelName        sanskrit
	BabelProvide     1
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
	LangCode         sa_IN
End

# Gaidhlig (Scottish Gaelic)
# FontEncoding: no hyphenation, grave accent (à, è, ì, ò, ù)
Language scottish
	GuiName          "Scottish Gaelic"
	BabelName        scottish
	PolyglossiaName  gaelic
	PolyglossiaOpts  "variant=scottish"
	QuoteStyle       english
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         gd_GB
End

# Serbian with Cyrillic script.
# Up to Version 3.0 (2019-01-12), input encoding and
# font encoding were set document-wide to "utf8x" and "T2A" respectively
# by "babel-serbianc", overriding LyX settings and leading to errors
# in mulit-lingual documents.
Language serbian
	GuiName          "Serbian"
	HasGuiSupport    true
	BabelName        serbianc
	BabelOptFormat   modifier
	PolyglossiaName  serbian
	PolyglossiaOpts  "script=cyrillic"
	XindyName        serbian
	# Note: script option is uppercase, even if the polyglossia
	#       manual states otherwise.
	QuoteStyle       polish
	Encoding         utf8
	FontEncoding     T2A
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
	LangCode         sr_RS
End

# We use croatian for Latin Serbian index ordering
Language serbian-latin
	GuiName          "Serbian (Latin)"
	BabelName        serbian
	BabelOptFormat   modifier
	PolyglossiaName  serbian
	PolyglossiaOpts  "script=latin"
	XindyName        croatian
	QuoteStyle       polish
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
	LangCode         sr_RS-Latin
End

Language slovak
	GuiName          "Slovak"
	HasGuiSupport    true
	BabelName        slovak
	BabelOptFormat   \languageattribute{$lang$}{$opts$}
	PolyglossiaName  slovak
	XindyName        slovak-large
	QuoteStyle       german
	ActiveChars      -^
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
	LangCode         sk_SK
End

Language slovene
	GuiName          "Slovene"
	BabelName        slovene
	PolyglossiaName  slovenian
	XindyName        slovenian
	QuoteStyle       german
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "dd. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
	LangCode         sl_SI
End

Language spanish
	GuiName          "Spanish"
	HasGuiSupport    true
	BabelName        spanish
	BabelOpts        "notilde, noquoting, nodecimaldot"
	BabelOptFormat   modifier
	PolyglossiaName  spanish
	PolyglossiaOpts  "variant=spanish"
	XindyName        spanish-modern
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         es_ES
End

# there are no spanish shorthands in polyglossia
Language spanish-mexico
	GuiName          "Spanish (Mexico)"
	BabelName        mexican
	BabelProvide     1
	PolyglossiaName  spanish
	PolyglossiaOpts  "variant=mexican"
	XindyName        spanish-modern
	QuoteStyle       french
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         es_MX
End

Language swedish
	GuiName          "Swedish"
	HasGuiSupport    true
	BabelName        swedish
	PolyglossiaName  swedish
	XindyName        swedish
	QuoteStyle       swedish
	Encoding         iso8859-15
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
	LangCode         sv_SE
End

Language syriac
	GuiName          "Syriac"
	BabelName        syriac
	BabelProvide     1
	PolyglossiaName  syriac
	Encoding         utf8
	RTL              true
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         syr_SY
End

Language tamil
	GuiName          "Tamil"
	BabelName        tamil
	BabelProvide     1
	PolyglossiaName  tamil
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
	LangCode         ta_IN
End

Language telugu
	GuiName          "Telugu"
	BabelName        telugu
	BabelProvide     1
	PolyglossiaName  telugu
	Encoding         utf8
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
	LangCode         te_IN
End

# There is an alternative support with CJK package and Babel name "thaicjk".

Language thai
	GuiName          "Thai"
	BabelName        thai
	PolyglossiaName  thai
	QuoteStyle       english
	Encoding         tis620-0
	FontEncoding     LTH
	DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	LangCode         th_TH
	# The first workaround requires loading inputenc after babel
	# (cf. BufferParams.cpp):
	PostBabelPreamble
	  % Restore catcodes changed by thai.ldf (active characters required for inputenc)
	  \@tempcnta=161%
	  \@whilenum\@tempcnta<252\do{%
	    \catcode\@tempcnta=13
	    \advance\@tempcnta\@ne
	  }%
	  % Restore \coyright definition corrupted by lthenc.def
	  \DeclareRobustCommand{\copyright}{%
	    \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi}
	  \DeclareTextSymbol{\textcopyright}{LTH}{8}
	  %
          % set up Thai fonts as substitue for the default families
	  % The 'substitutefont' package is obsolete now, since commands
	  % from the LaTeX kernel can be used instead. See here:
	  %   https://ctan.org/pkg/substitutefont
	  %   https://www.latex-project.org/news/latex2e-news/ltnews31.pdf
	  \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
	  \IfFormatAtLeastTF{2020/02/01}{%
	    \DeclareFontFamilySubstitution{LTH}{\rmdefault}{norasi}
	    \DeclareFontFamilySubstitution{LTH}{\sfdefault}{garuda}
	    \DeclareFontFamilySubstitution{LTH}{\ttdefault}{ttypist}
	  }{%
	    \usepackage{substitutefont}
	    \substitutefont{LTH}{\rmdefault}{norasi}
	    \substitutefont{LTH}{\sfdefault}{garuda}
	    \substitutefont{LTH}{\ttdefault}{ttypist}
	  }
	EndPostBabelPreamble
End

#FIXME DateFormats
Language tibetan
	GuiName          "Tibetan"
	BabelName        tibetan
	BabelProvide     1
	PolyglossiaName  tibetan
	Encoding         utf8
	LangCode         bo_CN
End

Language turkish
	GuiName          "Turkish"
	HasGuiSupport    true
	BabelName        turkish
	PolyglossiaName  turkish
	XindyName        turkish
	QuoteStyle       english
	ActiveChars      =
	Encoding         iso8859-9
	FontEncoding	 T1|OT1
	LangCode         tr_TR
	DateFormats      "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy"
End

# turkmen must be loaded locally with babel options,
# not globally via class options
Language turkmen
	GuiName          "Turkmen"
	BabelName        turkmen
	PolyglossiaName  turkmen
	QuoteStyle       swiss
	Encoding         utf8
	FontEncoding	 T1|OT1
	DateFormats      "yyyy ý. MMMM d|dd.MM.yyyy ý.|dd.MM.yy ý."
	LangCode         tk_TM
End

Language ukrainian
	GuiName          "Ukrainian"
	HasGuiSupport    true
	BabelName        ukrainian
	PolyglossiaName  ukrainian
	XindyName        ukrainian
	QuoteStyle       russian
	Encoding         koi8-u
	FontEncoding     T2A
	DateFormats      "dd MMMM yyyy|d MM yyyy|dd.MM.yyyy"
	LangCode         uk_UA
	Provides         textcyrillic
End

Language uppersorbian
	GuiName          "Upper Sorbian"
	BabelName        uppersorbian
	PolyglossiaName  sorbian
	PolyglossiaOpts  "variant=upper"
	XindyName        upper-sorbian
	QuoteStyle       german
	Encoding         iso8859-2
	FontEncoding	 T1|OT1
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
	LangCode         hsb_DE
End

Language urdu
	GuiName          "Urdu"
	BabelName        urdu
	BabelProvide     1
	PolyglossiaName  urdu
	Encoding         utf8
	DateFormats      "d MMMM, yyyy|d MMM yyyy|dd/MM/yyyy"
	RTL              true
	LangCode         ur_PK
End

Language uyghur
	GuiName          "Uyghur"
	BabelName        uyghur
	BabelProvide     1
	PolyglossiaName  uyghur
	Encoding         utf8
	FontEncoding     LAE,LFE
	DateFormats      "d MMMM yyyy-يىلى|d MMM yyyy-يىلى|yyyy/M/d"
	RTL              true
	LangCode         ug
	QuoteStyle       english
End

Language vietnamese
	GuiName          "Vietnamese"
	BabelName        vietnamese
	BabelOptFormat   modifier
	PolyglossiaName  vietnamese
	XindyName        vietnamese
	QuoteStyle       english
	Encoding         utf8
	DateFormats      "dd 'tháng' MMMM yyyy|dd-MM-yyyy|dd/MM/yyyy"
	FontEncoding	 T5
	LangCode         vi_VN
End

Language welsh
	GuiName          "Welsh"
	BabelName        welsh
	PolyglossiaName  welsh
	QuoteStyle       british
	Encoding         iso8859-15
	DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
	FontEncoding	 T1|OT1
	LangCode         cy_GB
End