]> git.lyx.org Git - lyx.git/blobdiff - lib/languages
Correctly set language after intitle paragraphs
[lyx.git] / lib / languages
index 0b272c4b3ff3ee9d5d688233074f8639bc5bb994..ca08344f80d5635fddac19321b56aa30f4c8c628 100644 (file)
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
-#      Encoding           <encoding>
-#      FontEncoding       <font encoding>
+#      ActiveChars        <activated characters>
 #      QuoteStyle         <british|danish|english|french|frenchin|
 #                           german|polish|russian|swedish|swedishg|swiss|plain>
 #      QuoteStyle         <british|danish|english|french|frenchin|
 #                           german|polish|russian|swedish|swedishg|swiss|plain>
+#      DateFormats        "<long>|<medium>|<short>"
+#      Encoding           <encoding>
+#      FontEncoding       <font encoding|font encoding|...>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
-#      AsBabelOptions     <true|false>
+#      WordWrap           <true|false>
 #      LangCode           <language_code>
 #      LangVariety        <language_variety>
 #      PreBabelPreamble
 #      LangCode           <language_code>
 #      LangVariety        <language_variety>
 #      PreBabelPreamble
@@ -26,6 +28,7 @@
 #        <extra latex code inserted after babel>
 #      EndPostBabelPreamble
 #      Requires           <requirement>
 #        <extra latex code inserted after babel>
 #      EndPostBabelPreamble
 #      Requires           <requirement>
+#      Provides           <babel language feature>
 # End
 #
 #
 # End
 #
 #
 #   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.
 #   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
 # * Encoding is the default encoding used with TeX fonts.
 #   It is only used if Document > Settings > Language > Encoding
-#   is set to "Language Default" and "use non-TeX fonts" is FALSE.
+#   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).
 # * 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 cares for characters/macros that do not exist in
+#   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.
 #   some font encodings ("<", ">", "|" and straight quote).
 #   It is not required for standard encodings like T2A. See bug #5091.
-# * FontEncoding is the required font encoding for correct hyphenation with
-#   8-bit TeX (http://www.hyphenation.org ).
-#   If not given, all standard text encodings as well as OT1 work.
-#   "FontEncoding none" tells LyX that fontenc should not be loaded with this
-#   language.
-# * AsBabelOptions advices LyX to pass the languages locally to babel, not
-#   globally to the class. Some languages (basically those not directly
-#   supported by babel) need this.
-#   FIXME: in this case, we might still need to pass the other languages
-#          globally, for the use of other packages (such as varioref).
+# * 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).
 # * 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).
 #   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)
 #   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 =).
 #
 ##########################################################################
 
 #
 ##########################################################################
 
@@ -103,13 +134,13 @@ Language ignore
        GuiName          "Ignore"
        BabelName        ignore
        PolyglossiaName  ignore
        GuiName          "Ignore"
        BabelName        ignore
        PolyglossiaName  ignore
-       Encoding         iso8859-1
+       Encoding         inherit
        LangCode         ignore
 End
 
 Language latex
        GuiName          "LaTeX"
        LangCode         ignore
 End
 
 Language latex
        GuiName          "LaTeX"
-       Encoding         iso8859-1
+       Encoding         inherit
        LangCode         latex
 End
 
        LangCode         latex
 End
 
@@ -123,17 +154,28 @@ Language afrikaans
        BabelName        afrikaans
        QuoteStyle       polish
        Encoding         iso8859-15
        BabelName        afrikaans
        QuoteStyle       polish
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|yyyy/MM/dd"
        LangCode         af_ZA
 End
 
        LangCode         af_ZA
 End
 
+# FontEncoding: no hyphenation, but uses Ç/ç und Ë/ë
 Language albanian
        GuiName          "Albanian"
        BabelName        albanian
 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
        QuoteStyle       swiss
        Encoding         iso8859-2
        PolyglossiaName  albanian
        QuoteStyle       swiss
        Encoding         iso8859-2
-       # FontEncoding   ?? (no hyphenation support?)
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode         sq_AL
 End
 
        LangCode         sq_AL
 End
 
@@ -144,6 +186,8 @@ Language american
        PolyglossiaOpts  "variant=american"
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=american"
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        LangCode         en_US
 End
 
        LangCode         en_US
 End
 
@@ -152,24 +196,27 @@ Language amharic
        GuiName          "Amharic"
        PolyglossiaName  amharic
        Encoding         utf8
        GuiName          "Amharic"
        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
        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         greek
+       GuiName          "Greek (ancient)"
+       BabelName        greek
        PostBabelPreamble
        \languageattribute{greek}{ancient}
        EndPostBabelPreamble
        PostBabelPreamble
        \languageattribute{greek}{ancient}
        EndPostBabelPreamble
-       PolyglossiaName   greek
-       PolyglossiaOpts   "variant=ancient"
-       QuoteStyle        french
-       Encoding          iso8859-7
-       InternalEncoding  true
-       FontEncoding      LGR
-       LangCode          grc_GR
+       PolyglossiaName  greek
+       PolyglossiaOpts  "variant=ancient"
+       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
 End
 
 # FIXME: dummy babel language for arabic_arabtex to be able
@@ -180,6 +227,7 @@ Language arabic_arabtex
        BabelName        arabtex
        QuoteStyle       french
        Encoding         cp1256
        BabelName        arabtex
        QuoteStyle       french
        Encoding         cp1256
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        LangCode         ar_SA
 End
        RTL              true
        LangCode         ar_SA
 End
@@ -192,8 +240,28 @@ Language arabic_arabi
        QuoteStyle       french
        Encoding         cp1256
        FontEncoding     LAE
        QuoteStyle       french
        Encoding         cp1256
        FontEncoding     LAE
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        RTL              true
-       AsBabelOptions   true
+       PostBabelPreamble
+         % 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
+         \ifdefined\chapter\else
+           \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}%
+         \fi
+       EndPostBabelPreamble
        LangCode         ar_SA
 End
 
        LangCode         ar_SA
 End
 
@@ -203,6 +271,7 @@ Language armenian
        PolyglossiaName  armenian
        QuoteStyle       swiss
        Encoding         utf8
        PolyglossiaName  armenian
        QuoteStyle       swiss
        Encoding         utf8
+       DateFormats      "d MMMM، yyyy|d MMM، yyyy|d/M/yyyy"
        LangCode         hy_AM
 End
 
        LangCode         hy_AM
 End
 
@@ -212,6 +281,7 @@ Language asturian
        PolyglossiaName  asturian
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  asturian
        QuoteStyle       french
        Encoding         iso8859-15
+       DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         ast_ES
 End
 
        LangCode         ast_ES
 End
 
@@ -222,12 +292,14 @@ Language australian
        PolyglossiaName  english
        PolyglossiaOpts  "variant=australian"
        Encoding         iso8859-15
        PolyglossiaName  english
        PolyglossiaOpts  "variant=australian"
        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)
        QuoteStyle       english
        LangCode         en_AU
 End
 
 # In polyglossia, this is supported since release 1.33.4 (May 2014)
-# We introduce it with LyX 2.2 to give the support time to settle.
+# Due to the variety, we use no country code.
 Language austrian
        GuiName          "German (Austria, old spelling)"
        BabelName        austrian
 Language austrian
        GuiName          "German (Austria, old spelling)"
        BabelName        austrian
@@ -235,12 +307,13 @@ Language austrian
        PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
-       FontEncoding     T1
-       LangCode         de_AT
+       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)
 End
 
 # In polyglossia, this is supported since release 1.33.4 (May 2014)
-# We introduce it with LyX 2.2 to give the support time to settle.
 Language naustrian
        GuiName          "German (Austria)"
        BabelName        naustrian
 Language naustrian
        GuiName          "German (Austria)"
        BabelName        naustrian
@@ -248,10 +321,27 @@ Language naustrian
        PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_AT
 End
 
        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
 Language bahasa
        GuiName          "Indonesian"
        HasGuiSupport    true
@@ -259,6 +349,8 @@ Language bahasa
        PolyglossiaName  bahasai
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaName  bahasai
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         id_ID
 End
 
        LangCode         id_ID
 End
 
@@ -268,6 +360,7 @@ Language bahasam
        PolyglossiaName  bahasam
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaName  bahasam
        QuoteStyle       english
        Encoding         iso8859-15
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         ms_MY
 End
 
        LangCode         ms_MY
 End
 
@@ -278,7 +371,8 @@ Language basque
        PolyglossiaName  basque
        QuoteStyle       swiss
        Encoding         iso8859-15
        PolyglossiaName  basque
        QuoteStyle       swiss
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|yyyy/MM/dd"
        LangCode         eu_ES
        PostBabelPreamble
        \addto\extrasbasque{\bbl@deactivate{~}}
        LangCode         eu_ES
        PostBabelPreamble
        \addto\extrasbasque{\bbl@deactivate{~}}
@@ -286,23 +380,37 @@ Language basque
 End
 
 # not yet supported by polyglossia
 End
 
 # not yet supported by polyglossia
+# 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
        QuoteStyle       french
        Encoding         cp1251
        FontEncoding     T2A
 Language belarusian
        GuiName          "Belarusian"
        BabelName        belarusian
        QuoteStyle       french
        Encoding         cp1251
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
        LangCode         be_BY
        LangCode         be_BY
-       AsBabelOptions   true
 End
 
 End
 
+# supported by polyglossia but not babel:
+Language bengali
+       GuiName          "Bengali"
+       PolyglossiaName  bengali
+       QuoteStyle       english
+       Encoding         utf8
+       LangCode         be_IN
+End
+
+
 # not yet supported by polyglossia
 # not yet supported by polyglossia
+# The (rarely used) Cyrillic script is not supported (try serbian).
 Language bosnian
        GuiName          "Bosnian"
        BabelName        bosnian
        QuoteStyle       polish
        Encoding         iso8859-2
 Language bosnian
        GuiName          "Bosnian"
        BabelName        bosnian
        QuoteStyle       polish
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|yyyy-MM-dd"
        LangCode         bs_BA
 End
 
        LangCode         bs_BA
 End
 
@@ -313,16 +421,20 @@ Language brazilian
        PolyglossiaName  brazil
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaName  brazil
        QuoteStyle       english
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
        LangCode         pt_BR
 End
 
        LangCode         pt_BR
 End
 
+# FontEncoding: # ? no hyphenation, but uses ñ
 Language breton
        GuiName          "Breton"
        BabelName        breton
        PolyglossiaName  breton
        QuoteStyle       french
        Encoding         iso8859-15
 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
 
        LangCode         br_FR
 End
 
@@ -333,17 +445,22 @@ Language british
        PolyglossiaOpts  "variant=british"
        QuoteStyle       british
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=british"
        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"
        LangCode         en_GB
 End
 
 Language bulgarian
        GuiName          "Bulgarian"
+       HasGuiSupport    true
        BabelName        bulgarian
        PolyglossiaName  bulgarian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
        BabelName        bulgarian
        PolyglossiaName  bulgarian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-M-d"
        LangCode         bg_BG
        LangCode         bg_BG
+       Provides         textcyrillic
 End
 
 # not yet supported by polyglossia
 End
 
 # not yet supported by polyglossia
@@ -354,6 +471,8 @@ Language canadian
 #      PolyglossiaOpts  "variant=canadian"
        QuoteStyle       english
        Encoding         iso8859-15
 #      PolyglossiaOpts  "variant=canadian"
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "MMMM d, yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         en_CA
 End
 
        LangCode         en_CA
 End
 
@@ -367,7 +486,8 @@ Language canadien
 #      PolyglossiaOpts  "variant=canadien"
        QuoteStyle       french
        Encoding         iso8859-15
 #      PolyglossiaOpts  "variant=canadien"
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         fr_CA
 End
 
        LangCode         fr_CA
 End
 
@@ -379,7 +499,8 @@ Language catalan
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d / MMMM / yyyy|d / MMM / yyyy|dd/MM/yyyy"
        LangCode         ca_ES
 End
 
        LangCode         ca_ES
 End
 
@@ -389,7 +510,9 @@ Language chinese-simplified
        HasGuiSupport    true
        Encoding         euc-cn
        QuoteStyle       english
        HasGuiSupport    true
        Encoding         euc-cn
        QuoteStyle       english
+       WordWrap         false
        LangCode         zh_CN
        LangCode         zh_CN
+       DateFormats      "yyyy年M月d日|yyyy-M-d|yy-M-d"
        Requires         CJK
 End
 
        Requires         CJK
 End
 
@@ -399,11 +522,26 @@ Language chinese-traditional
        HasGuiSupport    true
        QuoteStyle       cjk
        Encoding         utf8-cjk
        HasGuiSupport    true
        QuoteStyle       cjk
        Encoding         utf8-cjk
+       WordWrap         false
        LangCode         zh_TW
        LangCode         zh_TW
+       DateFormats      "yyyy年M月d日|yyyy年M月d日|yy年M月d日"
        Requires         CJK
 End
 
        Requires         CJK
 End
 
+# supported by polyglossia but not LyX:
+Language churchslavonic
+       GuiName         "Church Slavonic"
+       PolyglossiaName  churchslavonic
+       QuoteStyle       swiss
+       Encoding         utf8
+       FontEncoding     T2A
+       DateFormats      "d MMMM yyyy 'л'.|d MMM yyyy 'л'.|dd.MM.yyyy"
+       LangCode         cu
+       Provides         textcyrillic
+End
+
 # not supported by babel
 # not supported by babel
+# FIXME DateFormats
 Language coptic
        GuiName          "Coptic"
        PolyglossiaName  coptic
 Language coptic
        GuiName          "Coptic"
        PolyglossiaName  coptic
@@ -417,7 +555,8 @@ Language croatian
        PolyglossiaName  croatian
        QuoteStyle       polish
        Encoding         iso8859-2
        PolyglossiaName  croatian
        QuoteStyle       polish
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy.|d. MMM. yyyy.|dd.MM.yyyy."
        LangCode         hr_HR
 End
 
        LangCode         hr_HR
 End
 
@@ -427,8 +566,10 @@ Language czech
        BabelName        czech
        PolyglossiaName  czech
        QuoteStyle       german
        BabelName        czech
        PolyglossiaName  czech
        QuoteStyle       german
+       ActiveChars      -
        Encoding         iso8859-2
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM. yyyy|d.M.yyyy"
        LangCode         cs_CZ
 End
 
        LangCode         cs_CZ
 End
 
@@ -439,7 +580,8 @@ Language danish
        PolyglossiaName  danish
        QuoteStyle       danish
        Encoding         iso8859-15
        PolyglossiaName  danish
        QuoteStyle       danish
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         da_DK
 End
 
        LangCode         da_DK
 End
 
@@ -448,6 +590,7 @@ Language divehi
        GuiName          "Divehi (Maldivian)"
        PolyglossiaName  divehi
        Encoding         utf8
        GuiName          "Divehi (Maldivian)"
        PolyglossiaName  divehi
        Encoding         utf8
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|dd/MM/yyyy"
        LangCode         dv_MV
 End
 
        LangCode         dv_MV
 End
 
@@ -459,7 +602,8 @@ Language dutch
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       polish
        Encoding         iso8859-15
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       polish
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|d-M-yyyy"
        LangCode         nl_NL
 End
 
        LangCode         nl_NL
 End
 
@@ -470,19 +614,22 @@ Language english
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
        QuoteStyle       english
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
        QuoteStyle       english
+       DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         en_US
 End
 
 # Esperanto has no country code because it is an auxiliary language.
        LangCode         en_US
 End
 
 # Esperanto has no country code because it is an auxiliary language.
-# We therefore the name of its hunspell dictionary.
+# We therefore use the name of its hunspell dictionary.
 Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
        QuoteStyle       english
        Encoding         iso8859-3
 Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
        QuoteStyle       english
        Encoding         iso8859-3
-       FontEncoding     IL3
+       FontEncoding     IL3|T1|OT1
+       DateFormats      "'la' d 'de' MMMM yyyy|'la' d 'de' MMM yyyy|MM/dd/yyyy"
        LangCode         eo_EO
 End
 
        LangCode         eo_EO
 End
 
@@ -492,7 +639,8 @@ Language estonian
        PolyglossiaName  estonian
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaName  estonian
        QuoteStyle       german
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         et_EE
        PostBabelPreamble
        \addto\extrasestonian{\bbl@deactivate{~}}
        LangCode         et_EE
        PostBabelPreamble
        \addto\extrasestonian{\bbl@deactivate{~}}
@@ -506,7 +654,8 @@ Language farsi
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
-       FontEncoding     LFE
+       FontEncoding     LAE,LFE
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy/M/d"
        RTL              true
        LangCode         fa_IR
        QuoteStyle       english
        RTL              true
        LangCode         fa_IR
        QuoteStyle       english
@@ -523,11 +672,11 @@ Language finnish
        PolyglossiaName  finnish
        QuoteStyle       swedish
        Encoding         iso8859-15
        PolyglossiaName  finnish
        QuoteStyle       swedish
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         fi_FI
 End
 
        LangCode         fi_FI
 End
 
-# We redefine \og and \fg (guillemets) for older french language definitions
 Language french
        GuiName          "French"
        HasGuiSupport    true
 Language french
        GuiName          "French"
        HasGuiSupport    true
@@ -535,14 +684,9 @@ Language french
        PolyglossiaName  french
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  french
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         fr_FR
        LangCode         fr_FR
-       PostBabelPreamble
-       \addto\extrasfrench{%
-          \providecommand{\og}{\leavevmode\flqq~}%
-          \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
-       }
-       EndPostBabelPreamble
 End
 
 Language friulan
 End
 
 Language friulan
@@ -552,7 +696,8 @@ Language friulan
        PolyglossiaName  friulan
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  friulan
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d 'di' MMMM 'dal' yyyy|d 'di' MMM 'dal' yyyy|dd/MM/yyyy"
        LangCode         fur_IT
 End
 
        LangCode         fur_IT
 End
 
@@ -563,13 +708,15 @@ Language galician
        PolyglossiaName  galician
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  galician
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       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
 
        LangCode         gl_ES
        PostBabelPreamble
        \addto\shorthandsgalician{\galiciandeactivate{~}}
        EndPostBabelPreamble
 End
 
+# FIXME DateFormats
 Language georgian
        GuiName          "Georgian"
        BabelName        georgian
 Language georgian
        GuiName          "Georgian"
        BabelName        georgian
@@ -587,7 +734,8 @@ Language german
        PolyglossiaOpts  "variant=german,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=german,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de
        LangVariety      alt
 End
        LangCode         de
        LangVariety      alt
 End
@@ -600,7 +748,8 @@ Language ngerman
        PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_DE
 End
 
        LangCode         de_DE
 End
 
@@ -615,7 +764,8 @@ Language german-ch
        PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
        QuoteStyle       swiss
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
        QuoteStyle       swiss
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_CH
 End
 
        LangCode         de_CH
 End
 
@@ -629,48 +779,62 @@ Language german-ch-old
        PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
        QuoteStyle       swiss
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
        QuoteStyle       swiss
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_CH
 End
 
 Language greek
        LangCode         de_CH
 End
 
 Language greek
-       GuiName           "Greek"
-       HasGuiSupport     true
-       BabelName         greek
-       PolyglossiaName   greek
-       PolyglossiaOpts   "variant=monotonic"
-       QuoteStyle        french
-       Encoding          iso8859-7
-       InternalEncoding  true
-       FontEncoding      LGR
-       LangCode          el_GR
+       GuiName          "Greek"
+       HasGuiSupport    true
+       BabelName        greek
+       PolyglossiaName  greek
+       PolyglossiaOpts  "variant=monotonic"
+       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
 End
 
 Language polutonikogreek
-       GuiName           "Greek (polytonic)"
-       BabelName         polutonikogreek
-       PolyglossiaName   greek
-       PolyglossiaOpts   "variant=polytonic"
-       QuoteStyle        french
-       Encoding          iso8859-7
-       InternalEncoding  true
-       FontEncoding      LGR
-       LangCode          el_GR
+       GuiName          "Greek (polytonic)"
+       BabelName        polutonikogreek
+       PolyglossiaName  greek
+       PolyglossiaOpts  "variant=polytonic"
+       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
 End
 
 Language hebrew
-       GuiName           "Hebrew"
-       HasGuiSupport     true
-       BabelName         hebrew
-       PolyglossiaName   hebrew
-       Encoding          cp1255
-       QuoteStyle        english
-       InternalEncoding  true
-# Hebrew babel loads the font encodings
-# itself in the appropriate order
-#      FontEncoding      LHE
-       RTL               true
-       LangCode          he_IL
+       GuiName          "Hebrew"
+       HasGuiSupport    true
+       BabelName        hebrew
+       PolyglossiaName  hebrew
+       Encoding         cp1255
+       QuoteStyle       english
+       InternalEncoding true
+       # babel-hebrew expects the encoding for *other* languages last:
+       FontEncoding    HE8,T1|LHE,T1
+       ## Use font encoding HE8 if the Culmus fonts are installed and
+       # work around too simple test for article-like classes in rlbabel.def.
+       PreBabelPreamble
+         \IfFileExists{he8david.fd}{%
+           \providecommand{\HeblatexEncoding}{HE8}
+           \providecommand{\HeblatexEncodingFile}{he8enc}%
+         }{}
+         \providecommand{\l@chapter}{\relax}
+       EndPreBabelPreamble
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
+       RTL              true
+       LangCode         he_IL
 End
 
 # not supported by babel
 End
 
 # not supported by babel
@@ -678,6 +842,7 @@ Language hindi
        GuiName          "Hindi"
        PolyglossiaName  hindi
        Encoding         utf8
        GuiName          "Hindi"
        PolyglossiaName  hindi
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd-MM-yyyy"
        LangCode         hi_IN
 End
 
        LangCode         hi_IN
 End
 
@@ -693,6 +858,7 @@ End
 #       QuoteStyle      polish
 #End
 
 #       QuoteStyle      polish
 #End
 
+# FontEncoding: OT1 misses ð and Þ
 Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
 Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
@@ -700,18 +866,21 @@ Language icelandic
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1
        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
        LangCode         is_IS
 End
 
 # Interlingua has no official country code because it is an auxiliary
-# language. We therefore the name of its hunspell dictionary.
+# language. We use the name of its hunspell dictionary.
 Language interlingua
        GuiName          "Interlingua"
        HasGuiSupport    true
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
 Language interlingua
        GuiName          "Interlingua"
        HasGuiSupport    true
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         ia_IA
        LangCode         ia_IA
+       DateFormats      "'le' d 'de' MMMM yyyy|'le' d 'de' MMM yyyy|yyyy-mm-dd"
        QuoteStyle       english
 End
 
        QuoteStyle       english
 End
 
@@ -721,7 +890,8 @@ Language irish
        PolyglossiaName  irish
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaName  irish
        QuoteStyle       english
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         ga_IE
 End
 
        LangCode         ga_IE
 End
 
@@ -732,24 +902,23 @@ Language italian
        PolyglossiaName  italian
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  italian
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "dd MMMM yyyy|dd/MMM/yyyy|dd/MM/yyyy"
        LangCode         it_IT
 End
 
        LangCode         it_IT
 End
 
-# japanese must be loaded locally with babel options,
-# not globally via class options
-# http://www.lyx.org/trac/ticket/4597#c4
-# Since japanese does not load fontenc, we set
-# InternalEncoding to true.
+# 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
        Encoding         jis-platex
 Language japanese
        GuiName          "Japanese"
        HasGuiSupport    true
        BabelName        japanese
        Encoding         jis-platex
+       WordWrap         false
        LangCode         ja_JP
        LangCode         ja_JP
-       AsBabelOptions   true
        Requires         japanese
        Requires         japanese
-       InternalEncoding true
-       FontEncoding     None
+       FontEncoding     ASCII
+       DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
        QuoteStyle       cjk
 End
 
        QuoteStyle       cjk
 End
 
@@ -757,6 +926,8 @@ End
 Language japanese-cjk
        GuiName         "Japanese (CJK)"
        Encoding        euc-jp
 Language japanese-cjk
        GuiName         "Japanese (CJK)"
        Encoding        euc-jp
+       DateFormats     "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
+       WordWrap        false
        LangCode        ja_JP
        Requires        CJK
        QuoteStyle      cjk
        LangCode        ja_JP
        Requires        CJK
        QuoteStyle      cjk
@@ -767,20 +938,18 @@ Language kannada
        GuiName          "Kannada"
        PolyglossiaName  kannada
        Encoding         utf8
        GuiName          "Kannada"
        PolyglossiaName  kannada
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd-MM-yyyy"
        LangCode         kn_IN
 End
 
 # not yet supported by polyglossia
 # not supported by babel
 Language kazakh
        LangCode         kn_IN
 End
 
 # not yet supported by polyglossia
 # not supported by babel
 Language kazakh
-       GuiName          "Kazakh"
+       GuiName          "Kazakh"
        Encoding         ascii
        Encoding         ascii
-       FontEncoding     T2A
+       # FontEncoding   T2A # not set (no Babel support)
+       DateFormats      "dd MMMM yyyy|dd MMMM yyyy|yyyy-dd-MM"
        LangCode         kk_KZ
        LangCode         kk_KZ
-       PostBabelPreamble
-       \input{t2aenc.def}
-       \AtBeginDocument{\fontencoding{T2A}\selectfont}
-       EndPostBabelPreamble
 End
 
 # not supported by babel
 End
 
 # not supported by babel
@@ -788,25 +957,38 @@ Language khmer
        GuiName          "Khmer"
        PolyglossiaName  khmer
        Encoding         utf8
        GuiName          "Khmer"
        PolyglossiaName  khmer
        Encoding         utf8
+       DateFormats      "d MMMM yyyy|d MMMM yyyy|dd/MM/yyyy"
        LangCode         km_KH
 End
 
 Language korean
        GuiName         "Korean"
        LangCode         km_KH
 End
 
 Language korean
        GuiName         "Korean"
+       PolyglossiaName korean
        Encoding        euc-kr
        QuoteStyle      cjkangle
        Encoding        euc-kr
        QuoteStyle      cjkangle
+       DateFormats     "yyyy년 M월 d일|yyyy. M. d.|yy. M. d."
+       WordWrap        false
        LangCode        ko_KR
        Requires        CJK
 End
 
        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
+
 # not yet supported by polyglossia
 Language kurmanji
        GuiName          "Kurmanji"
        BabelName        kurmanji
        Encoding         utf8
 # not yet supported by polyglossia
 Language kurmanji
        GuiName          "Kurmanji"
        BabelName        kurmanji
        Encoding         utf8
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
        LangCode         kmr
        LangCode         kmr
-       AsBabelOptions   true
 End
 
 # not supported by babel
 End
 
 # not supported by babel
@@ -814,35 +996,40 @@ Language lao
        GuiName          "Lao"
        PolyglossiaName  lao
        Encoding         utf8
        GuiName          "Lao"
        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 because it is a dead language.
 # We therefore the name of its hunspell dictionary.
        LangCode         lo_LA
 End
 
 # There is no country code for Latin because it is a dead language.
 # We therefore the name of its hunspell dictionary.
+# FIXME DateFormats
 Language latin
        GuiName          "Latin"
        BabelName        latin
        PolyglossiaName  latin
 Language latin
        GuiName          "Latin"
        BabelName        latin
        PolyglossiaName  latin
+       ActiveChars      ^=
        Encoding         iso8859-15
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
        LangCode         la_LA
 End
 
 # latvian must be loaded locally with babel options,
 # not globally via class options
        LangCode         la_LA
 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
        PolyglossiaName  latvian
        QuoteStyle       german
        Encoding         iso8859-4
 Language latvian
        GuiName          "Latvian"
        BabelName        latvian
        PolyglossiaName  latvian
        QuoteStyle       german
        Encoding         iso8859-4
-       FontEncoding     L7x # (required for hyphenation but not set by babel)
+       FontEncoding     L7x|T1|OT1
+       DateFormats      "yyyy. 'gada' d. MMMM|yyyy. 'gada' d. MMM|dd.MM.yyyy"
        LangCode         lv_LV
        LangCode         lv_LV
-       AsBabelOptions   true
 End
 
 # lithuanian must be loaded locally with babel options,
 # not globally via class options
 End
 
 # lithuanian must be loaded locally with babel options,
 # not globally via class options
+# FontEncoding: L7x set by Babel
 Language lithuanian
        GuiName          "Lithuanian"
        BabelName        lithuanian
 Language lithuanian
        GuiName          "Lithuanian"
        BabelName        lithuanian
@@ -850,8 +1037,16 @@ Language lithuanian
        QuoteStyle       german
        Encoding         iso8859-13
        FontEncoding     L7x
        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
+         % restore \coyright definition corrupted by l7xenc.def
+          \DeclareRobustCommand{\copyright}{%
+            \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi}
+           \addto\noextraslithuanian{\latintext}
+       EndPostBabelPreamble
+       DateFormats      "yyyy 'm.' MMMM d 'd.'|yyyy 'm.' MMMM d 'd.'|yyyy-MM-dd"
        LangCode         lt_LT
        LangCode         lt_LT
-       AsBabelOptions   true
 End
 
 Language lowersorbian
 End
 
 Language lowersorbian
@@ -860,7 +1055,8 @@ Language lowersorbian
        PolyglossiaName  lsorbian
        QuoteStyle       german
        Encoding         iso8859-2
        PolyglossiaName  lsorbian
        QuoteStyle       german
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         dsb_DE
 End
 
        LangCode         dsb_DE
 End
 
@@ -871,7 +1067,8 @@ Language magyar
        PolyglossiaName  magyar
        QuoteStyle       polish
        Encoding         iso8859-2
        PolyglossiaName  magyar
        QuoteStyle       polish
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy. MMMM d.|yyyy. MMM d.|yyyy.MM.dd."
        LangCode         hu_HU
 End
 
        LangCode         hu_HU
 End
 
@@ -882,7 +1079,19 @@ Language macedonian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
        LangCode         mk_MK
        LangCode         mk_MK
+       Provides         textcyrillic
+End
+
+# not supported by babel
+Language malayalam
+       GuiName          "Malayalam"
+       PolyglossiaName  malayalam
+       Encoding         utf8
+       QuoteStyle       english
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
+       LangCode         ml_IN
 End
 
 # not supported by babel
 End
 
 # not supported by babel
@@ -890,6 +1099,7 @@ Language marathi
        GuiName          "Marathi"
        PolyglossiaName  marathi
        Encoding         utf8
        GuiName          "Marathi"
        PolyglossiaName  marathi
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         mr_IN
 End
 
        LangCode         mr_IN
 End
 
@@ -901,8 +1111,9 @@ Language mongolian
        BabelName        mongolian
        Encoding         utf8
        FontEncoding     T2A
        BabelName        mongolian
        Encoding         utf8
        FontEncoding     T2A
+       DateFormats      "yyyy оны M сарын d|d-M-yyyy|dd-MM-yyyy"
        LangCode         mn_MN
        LangCode         mn_MN
-       AsBabelOptions   true
+       Provides         textcyrillic
 End
 
 Language newzealand
 End
 
 Language newzealand
@@ -912,6 +1123,8 @@ Language newzealand
        PolyglossiaOpts  "variant=newzealand"
        QuoteStyle       english
        Encoding         iso8859-15
        PolyglossiaOpts  "variant=newzealand"
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         en_NZ
 End
 
        LangCode         en_NZ
 End
 
@@ -922,10 +1135,27 @@ Language norsk
        PolyglossiaName  norsk
        QuoteStyle       swiss
        Encoding         iso8859-15
        PolyglossiaName  norsk
        QuoteStyle       swiss
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd./MM./yyyy"
        LangCode         nb_NO
 End
 
        LangCode         nb_NO
 End
 
+# supported by polyglossia but not LyX:
+# Language nko
+#      GuiName          "N’Ko"
+#      PolyglossiaName  nko
+#      QuoteStyle       swiss
+#      Encoding         utf8
+#       FIXME: DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
+#       gloss-nko.ldf says:
+#      In n'ko, this is an example of date :
+#        ߂߀߁߃ ߞߏ߲ߞߏߜߍ ߕߟߋ߬ ߁߈ (RTL)
+#        ( 18 February 2013 )
+#       The word "ߕߟߋ߬" is mandatory between month name and day number.
+#      RTL              true
+#      LangCode         nqo
+# End
+
 Language nynorsk
        GuiName          "Norwegian (Nynorsk)"
        HasGuiSupport    true
 Language nynorsk
        GuiName          "Norwegian (Nynorsk)"
        HasGuiSupport    true
@@ -933,7 +1163,8 @@ Language nynorsk
        PolyglossiaName  nynorsk
        QuoteStyle       swiss
        Encoding         iso8859-15
        PolyglossiaName  nynorsk
        QuoteStyle       swiss
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         nn_NO
 End
 
        LangCode         nn_NO
 End
 
@@ -943,22 +1174,22 @@ Language occitan
        PolyglossiaName  occitan
        QuoteStyle       french
        Encoding         utf8
        PolyglossiaName  occitan
        QuoteStyle       french
        Encoding         utf8
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         oc_FR
 End
 
 # Currently not supported (file format change!)
 # Russian orthography from the Petrine orthographic reforms of
 # 1708 to the 1917 orthographic reform
        LangCode         oc_FR
 End
 
 # Currently not supported (file format change!)
 # Russian orthography from the Petrine orthographic reforms of
 # 1708 to the 1917 orthographic reform
-# Note: If this is enabled, russian needs to get
-#       PolyglossiaOpts  "spelling=modern"
-# Language oldrussian
-#      GuiName          "Russian (Petrine orthography)"
-#      PolyglossiaName  russian
-#      PolyglossiaOpts  "spelling=old"
-#      LangCode         ru_petr1708
-#       QuoteStyle       russian
-# End
+Language oldrussian
+       GuiName          "Russian (Petrine orthography)"
+       PolyglossiaName  russian
+       PolyglossiaOpts  "spelling=old"
+       QuoteStyle       russian
+       LangCode         ru_petr1708
+End
 
 
+# FIXME DateFormats
 Language piedmontese
        GuiName          "Piedmontese"
        HasGuiSupport    true
 Language piedmontese
        GuiName          "Piedmontese"
        HasGuiSupport    true
@@ -966,9 +1197,11 @@ Language piedmontese
        PolyglossiaName  piedmontese
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  piedmontese
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         pms_IT
 End
 
        LangCode         pms_IT
 End
 
+# FontEncoding: QX required for hyphenation but not set by babel
 Language polish
        GuiName          "Polish"
        HasGuiSupport    true
 Language polish
        GuiName          "Polish"
        HasGuiSupport    true
@@ -976,7 +1209,8 @@ Language polish
        PolyglossiaName  polish
        QuoteStyle       polish
        Encoding         iso8859-2
        PolyglossiaName  polish
        QuoteStyle       polish
        Encoding         iso8859-2
-       FontEncoding     QX # (required for hyphenation but not set by babel)
+       FontEncoding     QX|T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         pl_PL
 End
 
        LangCode         pl_PL
 End
 
@@ -987,7 +1221,8 @@ Language portuguese
        PolyglossiaName  portuges
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  portuges
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|yyyy/MM/dd"
        LangCode         pt_PT
 End
 
        LangCode         pt_PT
 End
 
@@ -998,7 +1233,8 @@ Language romanian
        PolyglossiaName  romanian
        QuoteStyle       polish
        Encoding         iso8859-16
        PolyglossiaName  romanian
        QuoteStyle       polish
        Encoding         iso8859-16
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         ro_RO
 End
 
        LangCode         ro_RO
 End
 
@@ -1009,6 +1245,8 @@ Language romansh
        PolyglossiaName  romansh
        QuoteStyle       german
        Encoding         iso8859-15
        PolyglossiaName  romansh
        QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         rm_CH
 End
 
        LangCode         rm_CH
 End
 
@@ -1017,18 +1255,23 @@ Language russian
        HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
        HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
+       PolyglossiaOpts  "spelling=modern"
        QuoteStyle       russian
        Encoding         koi8-r
        FontEncoding     T2A
        QuoteStyle       russian
        Encoding         koi8-r
        FontEncoding     T2A
+       DateFormats      "d MMMM yyyy 'г'.|d MMM yyyy 'г'.|dd.MM.yyyy"
        LangCode         ru_RU
        LangCode         ru_RU
+       Provides         textcyrillic
 End
 
 End
 
+# FontEncoding: no hyphenation, but diacritics
 Language samin
        GuiName          "North Sami"
        BabelName        samin
        PolyglossiaName  samin
        Encoding         iso8859-15
 Language samin
        GuiName          "North Sami"
        BabelName        samin
        PolyglossiaName  samin
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "MMMM d. 'b'. yyyy|MMM d. 'b'. yyyy|d.M.yyyy"
        LangCode         se_NO
 End
 
        LangCode         se_NO
 End
 
@@ -1037,31 +1280,41 @@ Language sanskrit
        GuiName          "Sanskrit"
        PolyglossiaName  sanskrit
        Encoding         utf8
        GuiName          "Sanskrit"
        PolyglossiaName  sanskrit
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         sa_IN
 End
 
        LangCode         sa_IN
 End
 
+# Gaidhlig (Scottish Gaelic)
+# FontEncoding: no hyphenation, grave accent (à, è, ì, ò, ù)
 Language scottish
        GuiName          "Scottish"
        BabelName        scottish
        PolyglossiaName  scottish
        QuoteStyle       english
        Encoding         iso8859-15
 Language scottish
        GuiName          "Scottish"
        BabelName        scottish
        PolyglossiaName  scottish
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         gd_GB
 End
 
        LangCode         gd_GB
 End
 
-# Note: script option is uppercase, even if the polyglossia
-#       manual states otherwise.
+# 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
        PolyglossiaName  serbian
        PolyglossiaOpts  "script=Cyrillic"
 Language serbian
        GuiName          "Serbian"
        HasGuiSupport    true
        BabelName        serbianc
        PolyglossiaName  serbian
        PolyglossiaOpts  "script=Cyrillic"
+       # Note: script option is uppercase, even if the polyglossia
+       #       manual states otherwise.
        QuoteStyle       polish
        Encoding         utf8
        FontEncoding     T2A
        QuoteStyle       polish
        Encoding         utf8
        FontEncoding     T2A
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         sr_RS
        LangCode         sr_RS
-       AsBabelOptions   true
 End
 
 # Note: script option is uppercase, even if the polyglossia
 End
 
 # Note: script option is uppercase, even if the polyglossia
@@ -1073,7 +1326,8 @@ Language serbian-latin
        PolyglossiaOpts  "script=Latin"
        QuoteStyle       polish
        Encoding         iso8859-2
        PolyglossiaOpts  "script=Latin"
        QuoteStyle       polish
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         sr_RS-Latin
 End
 
        LangCode         sr_RS-Latin
 End
 
@@ -1083,8 +1337,10 @@ Language slovak
        BabelName        slovak
        PolyglossiaName  slovak
        QuoteStyle       german
        BabelName        slovak
        PolyglossiaName  slovak
        QuoteStyle       german
+       ActiveChars      -^
        Encoding         iso8859-2
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sk_SK
 End
 
        LangCode         sk_SK
 End
 
@@ -1094,7 +1350,8 @@ Language slovene
        PolyglossiaName  slovenian
        QuoteStyle       german
        Encoding         iso8859-2
        PolyglossiaName  slovenian
        QuoteStyle       german
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sl_SI
 End
 
        LangCode         sl_SI
 End
 
@@ -1105,7 +1362,8 @@ Language spanish
        PolyglossiaName  spanish
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  spanish
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         es_ES
        PostBabelPreamble
        \addto\shorthandsspanish{\spanishdeactivate{~<>}}
        LangCode         es_ES
        PostBabelPreamble
        \addto\shorthandsspanish{\spanishdeactivate{~<>}}
@@ -1119,7 +1377,8 @@ Language spanish-mexico
        PolyglossiaName  spanish
        QuoteStyle       french
        Encoding         iso8859-15
        PolyglossiaName  spanish
        QuoteStyle       french
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         es_MX
        PostBabelPreamble
        \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
        LangCode         es_MX
        PostBabelPreamble
        \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
@@ -1133,7 +1392,8 @@ Language swedish
        PolyglossiaName  swedish
        QuoteStyle       swedish
        Encoding         iso8859-15
        PolyglossiaName  swedish
        QuoteStyle       swedish
        Encoding         iso8859-15
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         sv_SE
 End
 
        LangCode         sv_SE
 End
 
@@ -1143,6 +1403,7 @@ Language syriac
        PolyglossiaName  syriac
        Encoding         utf8
        RTL              true
        PolyglossiaName  syriac
        Encoding         utf8
        RTL              true
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         syr_SY
 End
 
        LangCode         syr_SY
 End
 
@@ -1151,6 +1412,7 @@ Language tamil
        GuiName          "Tamil"
        PolyglossiaName  tamil
        Encoding         utf8
        GuiName          "Tamil"
        PolyglossiaName  tamil
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         ta_IN
 End
 
        LangCode         ta_IN
 End
 
@@ -1159,9 +1421,12 @@ Language telugu
        GuiName          "Telugu"
        PolyglossiaName  telugu
        Encoding         utf8
        GuiName          "Telugu"
        PolyglossiaName  telugu
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         te_IN
 End
 
        LangCode         te_IN
 End
 
+# There is an alternative support with CJK package and Babel name "thaicjk".
+
 Language thai
        GuiName          "Thai"
        BabelName        thai
 Language thai
        GuiName          "Thai"
        BabelName        thai
@@ -1169,13 +1434,31 @@ Language thai
        QuoteStyle       english
        Encoding         tis620-0
        FontEncoding     LTH
        QuoteStyle       english
        Encoding         tis620-0
        FontEncoding     LTH
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         th_TH
        LangCode         th_TH
+       # The first workaround requires loading inputenc after babel
+       # (cf. BufferParams.cpp):
        PostBabelPreamble
        PostBabelPreamble
-       \usepackage{thswitch}
+         % 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
+          \usepackage{substitutefont}
+          \substitutefont{LTH}{\rmdefault}{norasi}
+          \substitutefont{LTH}{\sfdefault}{garuda}
+          \substitutefont{LTH}{\ttdefault}{ttypist}
        EndPostBabelPreamble
 End
 
 # not supported by babel
        EndPostBabelPreamble
 End
 
 # not supported by babel
+#FIXME DateFormats
 Language tibetan
        GuiName          "Tibetan"
        PolyglossiaName  tibetan
 Language tibetan
        GuiName          "Tibetan"
        PolyglossiaName  tibetan
@@ -1189,12 +1472,11 @@ Language turkish
        BabelName        turkish
        PolyglossiaName  turkish
        QuoteStyle       english
        BabelName        turkish
        PolyglossiaName  turkish
        QuoteStyle       english
+       ActiveChars      =
        Encoding         iso8859-9
        Encoding         iso8859-9
-       FontEncoding     T1
+       FontEncoding     T1|OT1
        LangCode         tr_TR
        LangCode         tr_TR
-       PostBabelPreamble
-       \usepackage{xkeyval}
-       EndPostBabelPreamble
+       DateFormats      "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy"
 End
 
 # turkmen must be loaded locally with babel options,
 End
 
 # turkmen must be loaded locally with babel options,
@@ -1205,9 +1487,9 @@ Language turkmen
        PolyglossiaName  turkmen
        QuoteStyle       swiss
        Encoding         utf8
        PolyglossiaName  turkmen
        QuoteStyle       swiss
        Encoding         utf8
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy ý. MMMM d|dd.MM.yyyy ý.|dd.MM.yy ý."
        LangCode         tk_TM
        LangCode         tk_TM
-       AsBabelOptions   true
 End
 
 Language ukrainian
 End
 
 Language ukrainian
@@ -1218,7 +1500,9 @@ Language ukrainian
        QuoteStyle       russian
        Encoding         koi8-u
        FontEncoding     T2A
        QuoteStyle       russian
        Encoding         koi8-u
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MM yyyy|dd.MM.yyyy"
        LangCode         uk_UA
        LangCode         uk_UA
+       Provides         textcyrillic
 End
 
 Language uppersorbian
 End
 
 Language uppersorbian
@@ -1227,7 +1511,8 @@ Language uppersorbian
        PolyglossiaName  usorbian
        QuoteStyle       german
        Encoding         iso8859-2
        PolyglossiaName  usorbian
        QuoteStyle       german
        Encoding         iso8859-2
-       FontEncoding     T1
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         hsb_DE
 End
 
        LangCode         hsb_DE
 End
 
@@ -1236,23 +1521,20 @@ Language urdu
        GuiName          "Urdu"
        PolyglossiaName  urdu
        Encoding         utf8
        GuiName          "Urdu"
        PolyglossiaName  urdu
        Encoding         utf8
+       DateFormats      "d MMMM, yyyy|d MMM yyyy|dd/MM/yyyy"
        RTL              true
        LangCode         ur_PK
 End
 
        RTL              true
        LangCode         ur_PK
 End
 
-# vietnam must be loaded locally with babel options,
-# not globally via class options, see
-# http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
 Language vietnamese
        GuiName          "Vietnamese"
 Language vietnamese
        GuiName          "Vietnamese"
-       BabelName        vietnam
+       BabelName        vietnamese
        PolyglossiaName  vietnamese
        QuoteStyle       english
        Encoding         utf8
        PolyglossiaName  vietnamese
        QuoteStyle       english
        Encoding         utf8
+       DateFormats      "dd 'tháng' MMMM yyyy|dd-MM-yyyy|dd/MM/yyyy"
        FontEncoding     T5
        LangCode         vi_VN
        FontEncoding     T5
        LangCode         vi_VN
-       AsBabelOptions   true
-       Requires         vietnamese
 End
 
 Language welsh
 End
 
 Language welsh
@@ -1261,6 +1543,7 @@ Language welsh
        PolyglossiaName  welsh
        QuoteStyle       british
        Encoding         iso8859-15
        PolyglossiaName  welsh
        QuoteStyle       british
        Encoding         iso8859-15
-       FontEncoding     T1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
+       FontEncoding     T1|OT1
        LangCode         cy_GB
 End
        LangCode         cy_GB
 End