]> git.lyx.org Git - lyx.git/blobdiff - lib/languages
remerge he.po
[lyx.git] / lib / languages
index 9e6731f4693d7b43b4111a94ee0bafcf11fc5aae..760a1ff64086cbd3306c9829d63957601534d798 100644 (file)
@@ -10,6 +10,8 @@
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
+#      XindyName          <xindyname>
+#      ActiveChars        <activated characters>
 #      QuoteStyle         <british|danish|english|french|frenchin|
 #                           german|polish|russian|swedish|swedishg|swiss|plain>
 #      DateFormats        "<long>|<medium>|<short>"
@@ -17,6 +19,7 @@
 #      FontEncoding       <font encoding|font encoding|...>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
+#      WordWrap           <true|false>
 #      LangCode           <language_code>
 #      LangVariety        <language_variety>
 #      PreBabelPreamble
@@ -54,6 +57,8 @@
 #   - 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)
 #   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).
 # * 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.
 #
 ##########################################################################
 
@@ -140,10 +153,10 @@ End
 # Real languages
 #
 
-# not yet supported by polyglossia
 Language afrikaans
        GuiName          "Afrikaans"
        BabelName        afrikaans
+       PolyglossiaName  afrikaans
        QuoteStyle       polish
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -164,6 +177,7 @@ Language albanian
          \@ifl@aded{def}{t1enc}{\DeclareTextSymbol{\th}{T1}{254}}{}
        EndPostBabelPreamble
        PolyglossiaName  albanian
+       XindyName        albanian
        QuoteStyle       swiss
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -176,6 +190,7 @@ Language american
        BabelName        american
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
+       XindyName        english
        QuoteStyle       english
        Encoding         iso8859-15
        FontEncoding     ASCII
@@ -202,6 +217,7 @@ Language ancientgreek
        EndPostBabelPreamble
        PolyglossiaName  greek
        PolyglossiaOpts  "variant=ancient"
+       XindyName        greek
        QuoteStyle       french
        Encoding         iso8859-7
        InternalEncoding true
@@ -235,9 +251,26 @@ Language arabic_arabi
        DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        PostBabelPreamble
-         % arabi + hyperref redefines \noboundary as local textcommand
-         \let\orig@noboundary\noboundary
-         \DeclareTextCommandDefault{\noboundary}{\orig@noboundary}
+         \@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
@@ -268,6 +301,7 @@ Language australian
        BabelName        australian
        PolyglossiaName  english
        PolyglossiaOpts  "variant=australian"
+       XindyName        english
        Encoding         iso8859-15
        FontEncoding     ASCII
        DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
@@ -276,13 +310,13 @@ Language australian
 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
        PolyglossiaName  german
        PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -292,12 +326,12 @@ Language austrian
 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
        PolyglossiaName  german
        PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -305,6 +339,22 @@ Language naustrian
        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
@@ -342,12 +392,13 @@ Language basque
        EndPostBabelPreamble
 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
+       PolyglossiaName  belarusian
+       XindyName        belarusian
        QuoteStyle       french
        Encoding         cp1251
        FontEncoding     T2A
@@ -355,15 +406,21 @@ Language belarusian
        LangCode         be_BY
 End
 
-# supported by polyglossia but not LyX:
-# Language bengali
-#      PolyglossiaName  bengali
+# 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
 # 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
@@ -376,6 +433,7 @@ Language brazilian
        HasGuiSupport    true
        BabelName        brazil
        PolyglossiaName  brazil
+       XindyName        portuguese
        QuoteStyle       english
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -400,6 +458,7 @@ Language british
        BabelName        british
        PolyglossiaName  english
        PolyglossiaOpts  "variant=british"
+       XindyName        english
        QuoteStyle       british
        Encoding         iso8859-15
        FontEncoding     ASCII
@@ -412,6 +471,7 @@ Language bulgarian
        HasGuiSupport    true
        BabelName        bulgarian
        PolyglossiaName  bulgarian
+       XindyName        bulgarian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
@@ -420,27 +480,26 @@ Language bulgarian
        Provides         textcyrillic
 End
 
-# not yet supported by polyglossia
 Language canadian
        GuiName          "English (Canada)"
        BabelName        canadian
-#      PolyglossiaName  english
-#      PolyglossiaOpts  "variant=canadian"
+       PolyglossiaName  english
+       PolyglossiaOpts  "variant=canadian"
+       XindyName        english
        QuoteStyle       english
        Encoding         iso8859-15
-       FontEncoding     ASCII
+       FontEncoding     ASCII
        DateFormats      "MMMM d, yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         en_CA
 End
 
-# not yet supported by polyglossia
-# Note: If polyglossia support gets implemented, french needs
-#       PolyglossiaOpts  "variant=french"
 Language canadien
        GuiName          "French (Canada)"
-       BabelName        canadien
-#      PolyglossiaName  french
-#      PolyglossiaOpts  "variant=canadien"
+       BabelName        acadian
+       PolyglossiaName  french
+       PolyglossiaOpts  "variant=canadian"
+       ActiveChars      ;!?:
+       XindyName        french
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -467,6 +526,7 @@ Language chinese-simplified
        HasGuiSupport    true
        Encoding         euc-cn
        QuoteStyle       english
+       WordWrap         false
        LangCode         zh_CN
        DateFormats      "yyyy年M月d日|yyyy-M-d|yy-M-d"
        Requires         CJK
@@ -478,14 +538,23 @@ Language chinese-traditional
        HasGuiSupport    true
        QuoteStyle       cjk
        Encoding         utf8-cjk
+       WordWrap         false
        LangCode         zh_TW
        DateFormats      "yyyy年M月d日|yyyy年M月d日|yy年M月d日"
        Requires         CJK
 End
 
 # supported by polyglossia but not LyX:
-# Language churchslavonic
-#      PolyglossiaName  churchslavonic
+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
 # FIXME DateFormats
@@ -500,6 +569,7 @@ Language croatian
        GuiName          "Croatian"
        BabelName        croatian
        PolyglossiaName  croatian
+       XindyName        croatian
        QuoteStyle       polish
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -512,7 +582,9 @@ Language czech
        HasGuiSupport    true
        BabelName        czech
        PolyglossiaName  czech
+       XindyName        czech
        QuoteStyle       german
+       ActiveChars      -
        Encoding         iso8859-2
        FontEncoding     T1|OT1
        DateFormats      "d. MMMM yyyy|d. MMM. yyyy|d.M.yyyy"
@@ -524,6 +596,7 @@ Language danish
        HasGuiSupport    true
        BabelName        danish
        PolyglossiaName  danish
+       XindyName        danish
        QuoteStyle       danish
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -546,6 +619,7 @@ Language dutch
        BabelName        dutch
        PolyglossiaName  dutch
        PolyglossiaOpts  "babelshorthands=true"
+       XindyName        dutch
        QuoteStyle       polish
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -559,6 +633,7 @@ Language english
        BabelName        english
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
+       XindyName        english
        QuoteStyle       english
        DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        Encoding         iso8859-15
@@ -572,6 +647,7 @@ Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
+       XindyName        esperanto
        QuoteStyle       english
        Encoding         iso8859-3
        FontEncoding     IL3|T1|OT1
@@ -583,6 +659,7 @@ Language estonian
        GuiName          "Estonian"
        BabelName        estonian
        PolyglossiaName  estonian
+       XindyName        estonian
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -599,6 +676,7 @@ Language farsi
        GuiName          "Farsi"
        BabelName        farsi
        PolyglossiaName  farsi
+       XindyName        persian
        Encoding         utf8
        FontEncoding     LAE,LFE
        DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy/M/d"
@@ -616,6 +694,7 @@ Language finnish
        HasGuiSupport    true
        BabelName        finnish
        PolyglossiaName  finnish
+       XindyName        finnish
        QuoteStyle       swedish
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -623,23 +702,18 @@ Language finnish
        LangCode         fi_FI
 End
 
-# We redefine \og and \fg (guillemets) for older french language definitions
 Language french
        GuiName          "French"
        HasGuiSupport    true
        BabelName        french
+       ActiveChars      ;!?:
        PolyglossiaName  french
+       XindyName        french
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     T1|OT1
        DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         fr_FR
-       PostBabelPreamble
-       \addto\extrasfrench{%
-          \providecommand{\og}{\leavevmode\flqq~}%
-          \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
-       }
-       EndPostBabelPreamble
 End
 
 Language friulan
@@ -673,6 +747,8 @@ End
 Language georgian
        GuiName          "Georgian"
        BabelName        georgian
+       PolyglossiaName  georgian
+       XindyName        georgian
        QuoteStyle       german
        Encoding         utf8
        FontEncoding     T8M
@@ -685,6 +761,7 @@ Language german
        BabelName        german
        PolyglossiaName  german
        PolyglossiaOpts  "variant=german,spelling=old,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -699,6 +776,7 @@ Language ngerman
        BabelName        ngerman
        PolyglossiaName  german
        PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -715,6 +793,7 @@ Language german-ch
        BabelName        nswissgerman
        PolyglossiaName  german
        PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       swiss
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -730,6 +809,7 @@ Language german-ch-old
        BabelName        swissgerman
        PolyglossiaName  german
        PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
+       XindyName        german-duden
        QuoteStyle       swiss
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -743,6 +823,7 @@ Language greek
        BabelName        greek
        PolyglossiaName  greek
        PolyglossiaOpts  "variant=monotonic"
+       XindyName        greek
        QuoteStyle       french
        Encoding         iso8859-7
        InternalEncoding true
@@ -757,6 +838,7 @@ Language polutonikogreek
        BabelName        polutonikogreek
        PolyglossiaName  greek
        PolyglossiaOpts  "variant=polytonic"
+       XindyName        greek
        QuoteStyle       french
        Encoding         iso8859-7
        InternalEncoding true
@@ -771,18 +853,19 @@ Language hebrew
        HasGuiSupport    true
        BabelName        hebrew
        PolyglossiaName  hebrew
+       XindyName        hebrew
        Encoding         cp1255
-       QuoteStyle       english
+       QuoteStyle       hebrew
        InternalEncoding true
        # babel-hebrew expects the encoding for *other* languages last:
-       # FontEncoding    HE8|LHE
+       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.
+       # work around to simple test for article-like classes in rlbabel.def.
        PreBabelPreamble
-         %\IfFileExists{he8david.fd}{%
-         %  \providecommand{\HeblatexEncoding}{HE8}
-         %  \providecommand{\HeblatexEncodingFile}{he8enc}%
-         %}{}
+         \IfFileExists{he8david.fd}{%
+           \providecommand{\HeblatexEncoding}{HE8}
+           \providecommand{\HeblatexEncodingFile}{he8enc}%
+         }{}
          \providecommand{\l@chapter}{\relax}
        EndPreBabelPreamble
        DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
@@ -816,6 +899,7 @@ Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
        PolyglossiaName  icelandic
+       XindyName        icelandic
        QuoteStyle       german
        Encoding         iso8859-15
        FontEncoding     T1
@@ -824,7 +908,7 @@ Language icelandic
 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
@@ -853,6 +937,7 @@ Language italian
        HasGuiSupport    true
        BabelName        italian
        PolyglossiaName  italian
+       XindyName        italian
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     ASCII
@@ -867,6 +952,7 @@ Language japanese
        HasGuiSupport    true
        BabelName        japanese
        Encoding         jis-platex
+       WordWrap         false
        LangCode         ja_JP
        Requires         japanese
        FontEncoding     ASCII
@@ -878,7 +964,8 @@ End
 Language japanese-cjk
        GuiName         "Japanese (CJK)"
        Encoding        euc-jp
-       DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
+       DateFormats     "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
+       WordWrap        false
        LangCode        ja_JP
        Requires        CJK
        QuoteStyle      cjk
@@ -912,21 +999,33 @@ Language khmer
        LangCode         km_KH
 End
 
-# Fixme: activate Polyglossia support (file format change)
 Language korean
        GuiName         "Korean"
-       #PolyglossiaName  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
 
-# not yet supported by polyglossia
+# 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          "Kurmanji"
+       GuiName          "Kurdish (Kurmanji)"
        BabelName        kurmanji
+       PolyglossiaName  kurdish
+       XindyName        kurdish-bedirxan
+       PolyglossiaOpts  "variant=kurmanji"
        Encoding         utf8
        FontEncoding     T1|OT1
        DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
@@ -949,6 +1048,8 @@ Language latin
        GuiName          "Latin"
        BabelName        latin
        PolyglossiaName  latin
+       XindyName        latin
+       ActiveChars      ^=
        Encoding         iso8859-15
        FontEncoding     T1|OT1
        LangCode         la_LA
@@ -961,6 +1062,7 @@ Language latvian
        GuiName          "Latvian"
        BabelName        latvian
        PolyglossiaName  latvian
+       XindyName        latvian
        QuoteStyle       german
        Encoding         iso8859-4
        FontEncoding     L7x|T1|OT1
@@ -968,23 +1070,35 @@ Language latvian
        LangCode         lv_LV
 End
 
-# lithuanian must be loaded locally with babel options,
-# not globally via class options
-# FontEncoding: L7x set by Babel
+# 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.
+       # 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}
+         \@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
@@ -994,6 +1108,7 @@ Language lowersorbian
        GuiName          "Lower Sorbian"
        BabelName        lowersorbian
        PolyglossiaName  lsorbian
+       XindyName        lower-sorbian
        QuoteStyle       german
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -1006,17 +1121,19 @@ Language magyar
        HasGuiSupport    true
        BabelName        magyar
        PolyglossiaName  magyar
-       QuoteStyle       polish
+       XindyName        hungarian
+       QuoteStyle       hungarian
        Encoding         iso8859-2
        FontEncoding     T1|OT1
        DateFormats      "yyyy. MMMM d.|yyyy. MMM d.|yyyy.MM.dd."
        LangCode         hu_HU
 End
 
-# not yet supported by polyglossia
 Language macedonian
        GuiName          "Macedonian"
        BabelName        macedonian
+       PolyglossiaName  macedonian
+       XindyName        macedonian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
@@ -1046,10 +1163,11 @@ End
 
 # mongolian must be loaded locally with babel options,
 # not globally via class options
-# not yet supported by polyglossia
 Language mongolian
        GuiName          "Mongolian"
        BabelName        mongolian
+       PolyglossiaName  mongolian
+       XindyName        mongolian
        Encoding         utf8
        FontEncoding     T2A
        DateFormats      "yyyy оны M сарын d|d-M-yyyy|dd-MM-yyyy"
@@ -1062,6 +1180,7 @@ Language newzealand
        BabelName        newzealand
        PolyglossiaName  english
        PolyglossiaOpts  "variant=newzealand"
+       XindyName        english
        QuoteStyle       english
        Encoding         iso8859-15
        FontEncoding     ASCII
@@ -1074,23 +1193,36 @@ Language norsk
        HasGuiSupport    true
        BabelName        norsk
        PolyglossiaName  norsk
+       XindyName        norwegian
        QuoteStyle       swiss
        Encoding         iso8859-15
        FontEncoding     T1|OT1
-       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd./MM./yyyy"
        LangCode         nb_NO
 End
 
 # supported by polyglossia but not LyX:
 # Language nko
-#      GuiName         "N’Ko"            
-#      PolyglossiaName 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
        BabelName        nynorsk
        PolyglossiaName  nynorsk
+       XindyName        norwegian
        QuoteStyle       swiss
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -1111,15 +1243,14 @@ 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"
+       XindyName        russian
+       QuoteStyle       russian
+       LangCode         ru_petr1708
+End
 
 # FIXME DateFormats
 Language piedmontese
@@ -1139,6 +1270,7 @@ Language polish
        HasGuiSupport    true
        BabelName        polish
        PolyglossiaName  polish
+       XindyName        polish
        QuoteStyle       polish
        Encoding         iso8859-2
        FontEncoding     QX|T1|OT1
@@ -1151,6 +1283,7 @@ Language portuguese
        HasGuiSupport    true
        BabelName        portuges
        PolyglossiaName  portuges
+       XindyName        portuguese
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -1163,6 +1296,7 @@ Language romanian
        HasGuiSupport    true
        BabelName        romanian
        PolyglossiaName  romanian
+       XindyName        romanian
        QuoteStyle       polish
        Encoding         iso8859-16
        FontEncoding     T1|OT1
@@ -1187,6 +1321,8 @@ Language russian
        HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
+       PolyglossiaOpts  "spelling=modern"
+       XindyName        russian
        QuoteStyle       russian
        Encoding         koi8-r
        FontEncoding     T2A
@@ -1239,6 +1375,7 @@ Language serbian
        BabelName        serbianc
        PolyglossiaName  serbian
        PolyglossiaOpts  "script=Cyrillic"
+       XindyName        serbian
        # Note: script option is uppercase, even if the polyglossia
        #       manual states otherwise.
        QuoteStyle       polish
@@ -1248,13 +1385,13 @@ Language serbian
        LangCode         sr_RS
 End
 
-# Note: script option is uppercase, even if the polyglossia
-#       manual states otherwise.
+# We use croatian for Latin Serbian index ordering
 Language serbian-latin
        GuiName          "Serbian (Latin)"
        BabelName        serbian
        PolyglossiaName  serbian
        PolyglossiaOpts  "script=Latin"
+       XindyName        croatian
        QuoteStyle       polish
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -1267,7 +1404,9 @@ Language slovak
        HasGuiSupport    true
        BabelName        slovak
        PolyglossiaName  slovak
+       XindyName        slovak-large
        QuoteStyle       german
+       ActiveChars      -^
        Encoding         iso8859-2
        FontEncoding     T1|OT1
        DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
@@ -1278,6 +1417,7 @@ Language slovene
        GuiName          "Slovene"
        BabelName        slovene
        PolyglossiaName  slovenian
+       XindyName        slovenian
        QuoteStyle       german
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -1290,6 +1430,7 @@ Language spanish
        HasGuiSupport    true
        BabelName        spanish
        PolyglossiaName  spanish
+       XindyName        spanish-modern
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -1305,6 +1446,7 @@ Language spanish-mexico
        GuiName          "Spanish (Mexico)"
        BabelName        spanish
        PolyglossiaName  spanish
+       XindyName        spanish-modern
        QuoteStyle       french
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -1320,6 +1462,7 @@ Language swedish
        HasGuiSupport    true
        BabelName        swedish
        PolyglossiaName  swedish
+       XindyName        swedish
        QuoteStyle       swedish
        Encoding         iso8859-15
        FontEncoding     T1|OT1
@@ -1374,16 +1517,28 @@ Language thai
          \@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}
+         % 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
 
@@ -1401,14 +1556,13 @@ Language 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"
-       PostBabelPreamble
-       \usepackage{xkeyval}
-       EndPostBabelPreamble
 End
 
 # turkmen must be loaded locally with babel options,
@@ -1429,6 +1583,7 @@ Language ukrainian
        HasGuiSupport    true
        BabelName        ukrainian
        PolyglossiaName  ukrainian
+       XindyName        ukrainian
        QuoteStyle       russian
        Encoding         koi8-u
        FontEncoding     T2A
@@ -1441,6 +1596,7 @@ Language uppersorbian
        GuiName          "Upper Sorbian"
        BabelName        uppersorbian
        PolyglossiaName  usorbian
+       XindyName        upper-sorbian
        QuoteStyle       german
        Encoding         iso8859-2
        FontEncoding     T1|OT1
@@ -1462,6 +1618,7 @@ Language vietnamese
        GuiName          "Vietnamese"
        BabelName        vietnamese
        PolyglossiaName  vietnamese
+       XindyName        vietnamese
        QuoteStyle       english
        Encoding         utf8
        DateFormats      "dd 'tháng' MMMM yyyy|dd-MM-yyyy|dd/MM/yyyy"