]> git.lyx.org Git - lyx.git/blobdiff - lib/languages
Fix build after ffc682424e
[lyx.git] / lib / languages
index a8092554bedb8ad00b88f70b5cd5e673301266ba..89ecabf75435239f55c9721e1c3535e4d0db7179 100644 (file)
@@ -6,10 +6,15 @@
 #
 # Language <lyxname>
 #      GuiName            "<Gui Name>"
 #
 # Language <lyxname>
 #      GuiName            "<Gui Name>"
+#      HasGuiSupport      <true|false>
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
+#      QuoteStyle         <british|danish|english|french|frenchin|
+#                           german|polish|russian|swedish|swedishg|swiss|plain>
+#      DateFormats        "<long>|<medium>|<short>"
 #      Encoding           <encoding>
 #      Encoding           <encoding>
+#      FontEncoding       <font encoding|font encoding|...>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
 #      AsBabelOptions     <true|false>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
 #      AsBabelOptions     <true|false>
 #      PostBabelPreamble
 #        <extra latex code inserted after babel>
 #      EndPostBabelPreamble
 #      PostBabelPreamble
 #        <extra latex code inserted after babel>
 #      EndPostBabelPreamble
+#      Requires           <requirement>
+#      Provides           <babel language feature>
 # End
 #
 #
 # End
 #
 #
-# NOTE:
+# NOTES:
 #
 #
+# * If we provide Polyglossia languages with different options, the default
+#   options (such as "variant=american", "spelling=modern") should be
+#   explicitely spelled out (in order to provide mixing of such variants).
 # * Omitted elements will be treated as empty (if string) or "false"
 #   (if boolean).
 # * Omitted elements will be treated as empty (if string) or "false"
 #   (if boolean).
-# * Encoding is not relevant for XeTeX (which is utf8 always), and if
-#   Document > Settings > Language > Encoding is not set to "Language
-#   Default"
-# * InternalEncoding is used to tell LyX that babel internally sets a font
-#   encoding (such as hebrew to LHE). See bug #5091.
+# * When HasGuiSupport is true, the language is candidate to appear in
+#   the list of possible GUI languages in the Preferences dialog. It
+#   will actually appear there only if a corresponding .mo file can be
+#   found among the translations. When several languages correspond to
+#   the same translation -- like English, English (US) and English
+#   (UK) -- try to select the entry that is most generic -- here
+#   English.
+# * The QuoteStyle arguments correspond to the following styles:
+#                 PRIMARY              SECONDARY
+#   - british:   `text'                ``text''        (6_9 -- 66_99)
+#   - cjk:        corner brackets      white corner br.
+#   - cjk-angle:  double angle br.     angle br.
+#   - danish:    >>text<<              >text<          (inward guillemets)
+#   - english:   ``text''              `text'          (66_99 -- 6_9)
+#   - french:    <<text>>              ``text''        (outward guillemets -- 66_99)
+#   - frenchin:   <<text>>             <<text>>        (French Imprimerie Nationale style)
+#   - german:    ,,text``              ,text`          (99/66 -- 9/6)
+#   - polish:    ,,text''              ,text'          (99/99 -- 9/9)
+#   - russian:    <<text>>             ,,text``        (outward guillemets -- 99/66)
+#   - swedish:   ''text''              'text'          (99_99 -- 9_9)
+#   - swedishg:   >>text>>             'text'          (Swedish Guillemets)
+#   - swiss:     <<text>>              <text>          (outward guillemets)
+#   - plain:     "text"                'text'          (non-typographical quotes)
+#   Note that the option names have been selected (rather arbitrarily)
+#   because the respective styles are common in the respective countries.
+#   Of course this does not imply any fixed relation to those countries.
+# * DateFormats lists the localized conventions for three date forms:
+#   - Long: December 1, 2018
+#   - Medium: Dec 1, 2018
+#   - Short: 1/12/2018
+#   These are separated by | and use the QDate syntax:
+#   * d        the day as number without a leading zero (1 to 31)
+#   * dd       the day as number with a leading zero (01 to 31)
+#   * ddd      the abbreviated localized day name (e.g. 'Mon' to 'Sun')
+#   * dddd     the long localized day name (e.g. 'Monday' to 'Sunday')
+#   * M        the month as number without a leading zero (1 to 12)
+#   * MM       the month as number with a leading zero (01 to 12)
+#   * MMM      the abbreviated localized month name (e.g. 'Jan' to 'Dec')
+#   * MMMM     the long localized month name (e.g. 'January' to 'December')
+#   * yy       the year as two digit number (00 to 99)
+#   * yyyy     the year as four digit number
+# * Encoding is the default encoding used with TeX fonts.
+#   It is only used if Document > Settings > Language > Encoding
+#   is set to "Language Default" or "Language Default (no inputenc)"
+#   and "use non-TeX fonts" is FALSE.
+#   Encoding "inherit" means: keep encoding of the context (used by
+#   latex_language).
+# * FontEncoding is a bar-separated list of font encodings.
+#   The first value is the required font encoding for correct hyphenation with
+#   8-bit TeX (http://www.hyphenation.org). Eventually following values may be
+#   used if the selected font is unavailable in FontEncoding. They provide all
+#   letters used in the language, but some only as "surrogate pairs" with
+#   possible problems for hyphenation and drag-and-drop from the generated
+#   documents. Default: "ASCII".
+#   * "FontEncoding ASCII" means: "works with any standard text encoding
+#     (T<n>) as well as OT1".
+#   * "FontEncoding none" tells LyX that fontenc should not be loaded with
+#     this language.
+# * InternalEncoding is used to tell LyX that babel internally sets a
+#   non-standard font encoding (such as hebrew to LHE or greek to LGR).
+#   If True, LyX takes care for characters/macros that do not exist in
+#   some font encodings ("<", ">", "|" and straight quote).
+#   It is not required for standard encodings like T2A. See bug #5091.
 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
 # * 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.
+#   globally to the class. In the old days, some languages (basically those
+#   not natively supported by babel) needed this.
 #   FIXME: in this case, we might still need to pass the other languages
 #          globally, for the use of other packages (such as varioref).
 # * LangCode is also used for spellchecking and thesaurus, where the
 #   FIXME: in this case, we might still need to pass the other languages
 #          globally, for the use of other packages (such as varioref).
 # * LangCode is also used for spellchecking and thesaurus, where the
-#   dictionaries are named accordingly. Thus, check this when intoducing/
+#   dictionaries are named accordingly. Thus, check this when introducing/
 #   changing language codes (especially aspell, thesaurus).
 #   TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
 #         http://www.rfc-editor.org/rfc/bcp/bcp47.txt
 #   changing language codes (especially aspell, thesaurus).
 #   TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
 #         http://www.rfc-editor.org/rfc/bcp/bcp47.txt
 #   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).
 #
 ##########################################################################
 
 #
 ##########################################################################
 
@@ -61,13 +132,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
 
@@ -75,18 +146,26 @@ End
 # Real languages
 #
 
 # Real languages
 #
 
+# not yet supported by polyglossia
 Language afrikaans
        GuiName          "Afrikaans"
        BabelName        afrikaans
 Language afrikaans
        GuiName          "Afrikaans"
        BabelName        afrikaans
+       QuoteStyle       polish
        Encoding         iso8859-15
        Encoding         iso8859-15
+       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
        PolyglossiaName  albanian
 Language albanian
        GuiName          "Albanian"
        BabelName        albanian
        PolyglossiaName  albanian
+       QuoteStyle       swiss
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode         sq_AL
 End
 
        LangCode         sq_AL
 End
 
@@ -95,24 +174,50 @@ Language american
        BabelName        american
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
        BabelName        american
        PolyglossiaName  english
        PolyglossiaOpts  "variant=american"
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        LangCode         en_US
 End
 
        LangCode         en_US
 End
 
-# Currently not supported (file format change!)
-# Language ancientgreek
-#      GuiName          "Greek (ancient)"
-#      PolyglossiaName  greek
-#      PolyglossiaOpts  variant=ancient
-#      LangCode         grc
-# End
+# not supported by babel
+Language amharic
+       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
+       GuiName           "Greek (ancient)"
+       BabelName         greek
+       PostBabelPreamble
+       \languageattribute{greek}{ancient}
+       EndPostBabelPreamble
+       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
 # to switch the language the way of the ArabTeX-package
 Language arabic_arabtex
        GuiName          "Arabic (ArabTeX)"
 
 # FIXME: dummy babel language for arabic_arabtex to be able
 # to switch the language the way of the ArabTeX-package
 Language arabic_arabtex
        GuiName          "Arabic (ArabTeX)"
+       HasGuiSupport    true
        BabelName        arabtex
        BabelName        arabtex
+       QuoteStyle       french
        Encoding         cp1256
        Encoding         cp1256
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        LangCode         ar_SA
 End
        RTL              true
        LangCode         ar_SA
 End
@@ -122,46 +227,91 @@ Language arabic_arabi
        GuiName          "Arabic (Arabi)"
        BabelName        arabic
        PolyglossiaName  arabic
        GuiName          "Arabic (Arabi)"
        BabelName        arabic
        PolyglossiaName  arabic
+       QuoteStyle       french
        Encoding         cp1256
        Encoding         cp1256
+       FontEncoding     LAE
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        RTL              true
+       PostBabelPreamble
+         % arabi + hyperref redefines \noboundary as local textcommand
+         \let\orig@noboundary\noboundary
+         \DeclareTextCommandDefault{\noboundary}{\orig@noboundary}
+       EndPostBabelPreamble
        LangCode         ar_SA
 End
 
        LangCode         ar_SA
 End
 
+# not supported by babel
 Language armenian
        GuiName          "Armenian"
        PolyglossiaName  armenian
 Language armenian
        GuiName          "Armenian"
        PolyglossiaName  armenian
-       Encoding         armscii8
+       QuoteStyle       swiss
+       Encoding         utf8
+       DateFormats      "d MMMM، yyyy|d MMM، yyyy|d/M/yyyy"
        LangCode         hy_AM
 End
 
        LangCode         hy_AM
 End
 
+# not supported by babel
+Language asturian
+       GuiName          "Asturian"
+       PolyglossiaName  asturian
+       QuoteStyle       french
+       Encoding         iso8859-15
+       DateFormats      "d 'de' MMMM 'de' yyyy|d MMM yyyy|dd/MM/yyyy"
+       LangCode         ast_ES
+End
+
+
 Language australian
        GuiName          "English (Australia)"
        BabelName        australian
        PolyglossiaName  english
        PolyglossiaOpts  "variant=australian"
        Encoding         iso8859-15
 Language australian
        GuiName          "English (Australia)"
        BabelName        australian
        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
 
        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
+       PolyglossiaName  german
+       PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
-       LangCode         de_AT
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
+       LangCode         de
+       LangVariety      alt
 End
 
 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
+       PolyglossiaName  german
+       PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_AT
 End
 
 Language bahasa
        GuiName          "Indonesian"
        LangCode         de_AT
 End
 
 Language bahasa
        GuiName          "Indonesian"
+       HasGuiSupport    true
        BabelName        bahasa
        PolyglossiaName  bahasai
        BabelName        bahasa
        PolyglossiaName  bahasai
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         id_ID
 End
 
        LangCode         id_ID
 End
 
@@ -169,38 +319,73 @@ Language bahasam
        GuiName          "Malay"
        BabelName        bahasam
        PolyglossiaName  bahasam
        GuiName          "Malay"
        BabelName        bahasam
        PolyglossiaName  bahasam
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         ms_MY
 End
 
 Language basque
        GuiName          "Basque"
        LangCode         ms_MY
 End
 
 Language basque
        GuiName          "Basque"
+       HasGuiSupport    true
        BabelName        basque
        PolyglossiaName  basque
        BabelName        basque
        PolyglossiaName  basque
+       QuoteStyle       swiss
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|yyyy/MM/dd"
        LangCode         eu_ES
        LangCode         eu_ES
+       PostBabelPreamble
+       \addto\extrasbasque{\bbl@deactivate{~}}
+       EndPostBabelPreamble
 End
 
 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
 Language belarusian
        GuiName          "Belarusian"
        BabelName        belarusian
+       QuoteStyle       french
        Encoding         cp1251
        Encoding         cp1251
+       FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
        LangCode         be_BY
 End
 
        LangCode         be_BY
 End
 
+# 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
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|yyyy-MM-dd"
+       LangCode         bs_BA
+End
+
 Language brazilian
        GuiName          "Portuguese (Brazil)"
 Language brazilian
        GuiName          "Portuguese (Brazil)"
+       HasGuiSupport    true
        BabelName        brazil
        PolyglossiaName  brazil
        BabelName        brazil
        PolyglossiaName  brazil
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       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
 Language breton
        GuiName          "Breton"
        BabelName        breton
        PolyglossiaName  breton
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       #FontEncoding    T1
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         br_FR
 End
 
        LangCode         br_FR
 End
 
@@ -209,7 +394,10 @@ Language british
        BabelName        british
        PolyglossiaName  english
        PolyglossiaOpts  "variant=british"
        BabelName        british
        PolyglossiaName  english
        PolyglossiaOpts  "variant=british"
+       QuoteStyle       british
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         en_GB
 End
 
        LangCode         en_GB
 End
 
@@ -217,8 +405,12 @@ Language bulgarian
        GuiName          "Bulgarian"
        BabelName        bulgarian
        PolyglossiaName  bulgarian
        GuiName          "Bulgarian"
        BabelName        bulgarian
        PolyglossiaName  bulgarian
+       QuoteStyle       german
        Encoding         cp1251
        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
@@ -227,125 +419,181 @@ Language canadian
        BabelName        canadian
 #      PolyglossiaName  english
 #      PolyglossiaOpts  "variant=canadian"
        BabelName        canadian
 #      PolyglossiaName  english
 #      PolyglossiaOpts  "variant=canadian"
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "MMMM d, yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         en_CA
 End
 
 # not yet supported by polyglossia
        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"
 Language canadien
        GuiName          "French (Canada)"
        BabelName        canadien
 #      PolyglossiaName  french
 #      PolyglossiaOpts  "variant=canadien"
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         fr_CA
 End
 
 Language catalan
        GuiName          "Catalan"
        LangCode         fr_CA
 End
 
 Language catalan
        GuiName          "Catalan"
+       HasGuiSupport    true
        BabelName        catalan
        PolyglossiaName  catalan
        PolyglossiaOpts  "babelshorthands=true"
        BabelName        catalan
        PolyglossiaName  catalan
        PolyglossiaOpts  "babelshorthands=true"
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d / MMMM / yyyy|d / MMM / yyyy|dd/MM/yyyy"
        LangCode         ca_ES
 End
 
 # uses CJK package
 Language chinese-simplified
        GuiName          "Chinese (simplified)"
        LangCode         ca_ES
 End
 
 # uses CJK package
 Language chinese-simplified
        GuiName          "Chinese (simplified)"
+       HasGuiSupport    true
        Encoding         euc-cn
        Encoding         euc-cn
+       QuoteStyle       english
        LangCode         zh_CN
        LangCode         zh_CN
+       DateFormats      "yyyy年M月d日|yyyy-M-d|yy-M-d"
+       Requires         CJK
 End
 
 # uses CJK package
 Language chinese-traditional
        GuiName         "Chinese (traditional)"
 End
 
 # uses CJK package
 Language chinese-traditional
        GuiName         "Chinese (traditional)"
-       Encoding        utf8-cjk
-       LangCode        zh_CN
+       HasGuiSupport    true
+       QuoteStyle       cjk
+       Encoding         utf8-cjk
+       LangCode         zh_TW
+       DateFormats      "yyyy年M月d日|yyyy年M月d日|yy年M月d日"
+       Requires         CJK
+End
+
+# not supported by babel
+# FIXME DateFormats
+Language coptic
+       GuiName          "Coptic"
+       PolyglossiaName  coptic
+       Encoding         utf8
+       LangCode         cop_EG
 End
 
 End
 
-# Currently not supported (file format change!)
-# Language coptic
-#      GuiName          "Coptic"
-#      PolyglossiaName  coptic
-#      LangCode         cop
-# End
-
 Language croatian
        GuiName          "Croatian"
        BabelName        croatian
        PolyglossiaName  croatian
 Language croatian
        GuiName          "Croatian"
        BabelName        croatian
        PolyglossiaName  croatian
+       QuoteStyle       polish
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy.|d. MMM. yyyy.|dd.MM.yyyy."
        LangCode         hr_HR
 End
 
 Language czech
        GuiName          "Czech"
        LangCode         hr_HR
 End
 
 Language czech
        GuiName          "Czech"
+       HasGuiSupport    true
        BabelName        czech
        PolyglossiaName  czech
        BabelName        czech
        PolyglossiaName  czech
+       QuoteStyle       german
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM. yyyy|d.M.yyyy"
        LangCode         cs_CZ
 End
 
 Language danish
        GuiName          "Danish"
        LangCode         cs_CZ
 End
 
 Language danish
        GuiName          "Danish"
+       HasGuiSupport    true
        BabelName        danish
        PolyglossiaName  danish
        BabelName        danish
        PolyglossiaName  danish
+       QuoteStyle       danish
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         da_DK
 End
 
        LangCode         da_DK
 End
 
-# Currently not supported (file format change!)
-# Language divehi
-#      GuiName          "Divehi (Maldivian)"
-#      PolyglossiaName  divehi
-#      LangCode         dv
-# End
+# not supported by babel
+Language divehi
+       GuiName          "Divehi (Maldivian)"
+       PolyglossiaName  divehi
+       Encoding         utf8
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|dd/MM/yyyy"
+       LangCode         dv_MV
+End
 
 Language dutch
        GuiName          "Dutch"
 
 Language dutch
        GuiName          "Dutch"
+       HasGuiSupport    true
        BabelName        dutch
        PolyglossiaName  dutch
        PolyglossiaOpts  "babelshorthands=true"
        BabelName        dutch
        PolyglossiaName  dutch
        PolyglossiaOpts  "babelshorthands=true"
+       QuoteStyle       polish
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|d-M-yyyy"
        LangCode         nl_NL
 End
 
 Language english
        GuiName          "English"
        LangCode         nl_NL
 End
 
 Language english
        GuiName          "English"
+       HasGuiSupport    true
        BabelName        english
        PolyglossiaName  english
        BabelName        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
 
        LangCode         en_US
 End
 
-# Esperanto has no country code because it is an auxiliary language
+# Esperanto has no country code because it is an auxiliary language.
+# We therefore use the name of its hunspell dictionary.
 Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
 Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
+       QuoteStyle       english
        Encoding         iso8859-3
        Encoding         iso8859-3
-       LangCode         eo
+       FontEncoding     IL3|T1|OT1
+       DateFormats      "'la' d 'de' MMMM yyyy|'la' d 'de' MMM yyyy|MM/dd/yyyy"
+       LangCode         eo_EO
 End
 
 Language estonian
        GuiName          "Estonian"
        BabelName        estonian
        PolyglossiaName  estonian
 End
 
 Language estonian
        GuiName          "Estonian"
        BabelName        estonian
        PolyglossiaName  estonian
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         et_EE
        LangCode         et_EE
+       PostBabelPreamble
+       \addto\extrasestonian{\bbl@deactivate{~}}
+       EndPostBabelPreamble
 End
 
 # the preamble definitions are only used due to bugs in the
 # arabi-package -- remove them if they become unnecessary!
 End
 
 # the preamble definitions are only used due to bugs in the
 # arabi-package -- remove them if they become unnecessary!
-# The country code is omitted because of the aspell dic naming.
 Language farsi
        GuiName          "Farsi"
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
 Language farsi
        GuiName          "Farsi"
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
+       FontEncoding     LAE,LFE
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy/M/d"
        RTL              true
        RTL              true
-       LangCode         fa
+       LangCode         fa_IR
+       QuoteStyle       english
        PostBabelPreamble
        \DeclareTextSymbol{\guillemotright}{LFE}{62}
        \DeclareTextSymbol{\guillemotleft}{LFE}{60}
        PostBabelPreamble
        \DeclareTextSymbol{\guillemotright}{LFE}{62}
        \DeclareTextSymbol{\guillemotleft}{LFE}{60}
@@ -354,18 +602,26 @@ End
 
 Language finnish
        GuiName          "Finnish"
 
 Language finnish
        GuiName          "Finnish"
+       HasGuiSupport    true
        BabelName        finnish
        PolyglossiaName  finnish
        BabelName        finnish
        PolyglossiaName  finnish
+       QuoteStyle       swedish
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         fi_FI
 End
 
 # We redefine \og and \fg (guillemets) for older french language definitions
 Language french
        GuiName          "French"
        LangCode         fi_FI
 End
 
 # We redefine \og and \fg (guillemets) for older french language definitions
 Language french
        GuiName          "French"
+       HasGuiSupport    true
        BabelName        french
        PolyglossiaName  french
        BabelName        french
        PolyglossiaName  french
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         fr_FR
        PostBabelPreamble
        \addto\extrasfrench{%
        LangCode         fr_FR
        PostBabelPreamble
        \addto\extrasfrench{%
@@ -375,12 +631,41 @@ Language french
        EndPostBabelPreamble
 End
 
        EndPostBabelPreamble
 End
 
+Language friulan
+       GuiName          "Friulian"
+       HasGuiSupport    true
+       BabelName        friulan
+       PolyglossiaName  friulan
+       QuoteStyle       french
+       Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'di' MMMM 'dal' yyyy|d 'di' MMM 'dal' yyyy|dd/MM/yyyy"
+       LangCode         fur_IT
+End
+
 Language galician
        GuiName          "Galician"
 Language galician
        GuiName          "Galician"
+       HasGuiSupport    true
        BabelName        galician
        PolyglossiaName  galician
        BabelName        galician
        PolyglossiaName  galician
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
        LangCode         gl_ES
        LangCode         gl_ES
+       PostBabelPreamble
+       \addto\shorthandsgalician{\galiciandeactivate{~}}
+       EndPostBabelPreamble
+End
+
+# FIXME DateFormats
+Language georgian
+       GuiName          "Georgian"
+       BabelName        georgian
+       QuoteStyle       german
+       Encoding         utf8
+       FontEncoding     T8M
+       LangCode         ka_GE
 End
 
 # german does not use a country code (due to the variety)
 End
 
 # german does not use a country code (due to the variety)
@@ -388,39 +673,72 @@ Language german
        GuiName          "German (old spelling)"
        BabelName        german
        PolyglossiaName  german
        GuiName          "German (old spelling)"
        BabelName        german
        PolyglossiaName  german
-       PolyglossiaOpts  "spelling=old,babelshorthands=true"
+       PolyglossiaOpts  "variant=german,spelling=old,babelshorthands=true"
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de
        LangVariety      alt
 End
 
 Language ngerman
        GuiName          "German"
        LangCode         de
        LangVariety      alt
 End
 
 Language ngerman
        GuiName          "German"
+       HasGuiSupport    true
        BabelName        ngerman
        PolyglossiaName  german
        BabelName        ngerman
        PolyglossiaName  german
-       PolyglossiaOpts  "babelshorthands=true"
+       PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_DE
 End
 
        LangCode         de_DE
 End
 
-# Swiss German is not supported by babel and polyglossia yet
-# We use ngerman for now (spellchecking is supported though!)
+# In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
+# We introduce it with LyX 2.2 to give the support time to settle.
+# In polyglossia, this is supported since release 1.33.6 (May 2015)
+# We introduce it with LyX 2.3 to give the support time to settle.
 Language german-ch
        GuiName          "German (Switzerland)"
 Language german-ch
        GuiName          "German (Switzerland)"
-       BabelName        ngerman
+       BabelName        nswissgerman
        PolyglossiaName  german
        PolyglossiaName  german
-       PolyglossiaOpts  "babelshorthands=true"
+       PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
+       QuoteStyle       swiss
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_CH
 End
 
        LangCode         de_CH
 End
 
+# In Babel, this is supported since release 2.7 of babel-german (Dec 2013)
+# In polyglossia, this is supported since release 1.33.6 (May 2015)
+# We introduce it with LyX 2.3 to give the support time to settle.
+Language german-ch-old
+       GuiName          "German (Switzerland, old spelling)"
+       BabelName        swissgerman
+       PolyglossiaName  german
+       PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
+       QuoteStyle       swiss
+       Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
+       LangCode         de_CH
+End
+
 Language greek
        GuiName           "Greek"
 Language greek
        GuiName           "Greek"
+       HasGuiSupport     true
        BabelName         greek
        PolyglossiaName   greek
        BabelName         greek
        PolyglossiaName   greek
+       PolyglossiaOpts   "variant=monotonic"
+       QuoteStyle        french
        Encoding          iso8859-7
        InternalEncoding  true
        Encoding          iso8859-7
        InternalEncoding  true
+       FontEncoding      LGR
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode          el_GR
        LangCode          el_GR
+       Provides          textgreek
 End
 
 Language polutonikogreek
 End
 
 Language polutonikogreek
@@ -428,28 +746,45 @@ Language polutonikogreek
        BabelName         polutonikogreek
        PolyglossiaName   greek
        PolyglossiaOpts   "variant=polytonic"
        BabelName         polutonikogreek
        PolyglossiaName   greek
        PolyglossiaOpts   "variant=polytonic"
+       QuoteStyle        french
        Encoding          iso8859-7
        InternalEncoding  true
        Encoding          iso8859-7
        InternalEncoding  true
+       FontEncoding      LGR
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode          el_GR
        LangCode          el_GR
+       Provides          textgreek
 End
 
 Language hebrew
        GuiName           "Hebrew"
 End
 
 Language hebrew
        GuiName           "Hebrew"
+       HasGuiSupport     true
        BabelName         hebrew
        PolyglossiaName   hebrew
        Encoding          cp1255
        BabelName         hebrew
        PolyglossiaName   hebrew
        Encoding          cp1255
+       QuoteStyle        english
        InternalEncoding  true
        InternalEncoding  true
+       # babel-hebrew expects the encoding for *other* languages last:
+       # FontEncoding      HE8
+       # Define the font encoding the babel-hebrew way and
+       # work around too simple test for article-like classes in rlbabel.def.
+       PreBabelPreamble
+         \def\HeblatexEncoding{HE8}
+         \def\HeblatexEncodingFile{he8enc}
+         \providecommand{\l@chapter}{\relax}
+       EndPreBabelPreamble
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        RTL               true
        LangCode          he_IL
 End
 
        RTL               true
        LangCode          he_IL
 End
 
-# Currently not supported (file format change!)
-# Language hindi
-#      GuiName          "Hindi"
-#      PolyglossiaName  hindi
-#      Encoding         utf8
-#      LangCode         hi
-# End
+# not supported by babel
+Language hindi
+       GuiName          "Hindi"
+       PolyglossiaName  hindi
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd-MM-yyyy"
+       LangCode         hi_IN
+End
 
 # Currently not supported (file format change!)
 # "hungarian" is a synonym for the "magyar" babel language option
 
 # Currently not supported (file format change!)
 # "hungarian" is a synonym for the "magyar" babel language option
@@ -460,150 +795,253 @@ End
 #      BabelName       hungarian
 #      Encoding        iso8859-2
 #      LangCode        hu_HU
 #      BabelName       hungarian
 #      Encoding        iso8859-2
 #      LangCode        hu_HU
+#       QuoteStyle      polish
 #End
 
 #End
 
+# FontEncoding: OT1 misses ð and Þ
 Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
        PolyglossiaName  icelandic
 Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
        PolyglossiaName  icelandic
+       QuoteStyle       german
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         is_IS
 End
 
        LangCode         is_IS
 End
 
-# Interlingua has no country code because it is an auxiliary language
+# Interlingua has no official country code because it is an auxiliary
+# language. We therefore the name of its hunspell dictionary.
 Language interlingua
        GuiName          "Interlingua"
 Language interlingua
        GuiName          "Interlingua"
+       HasGuiSupport    true
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
-       LangCode         ia
+       FontEncoding     ASCII
+       LangCode         ia_IA
+       DateFormats      "'le' d 'de' MMMM yyyy|'le' d 'de' MMM yyyy|yyyy-mm-dd"
+       QuoteStyle       english
 End
 
 Language irish
        GuiName          "Irish"
        BabelName        irish
        PolyglossiaName  irish
 End
 
 Language irish
        GuiName          "Irish"
        BabelName        irish
        PolyglossiaName  irish
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         ga_IE
 End
 
 Language italian
        GuiName          "Italian"
        LangCode         ga_IE
 End
 
 Language italian
        GuiName          "Italian"
+       HasGuiSupport    true
        BabelName        italian
        PolyglossiaName  italian
        BabelName        italian
        PolyglossiaName  italian
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "dd MMMM yyyy|dd/MMM/yyyy|dd/MM/yyyy"
        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
        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.
 Language japanese
        GuiName          "Japanese"
 Language japanese
        GuiName          "Japanese"
+       HasGuiSupport    true
        BabelName        japanese
        BabelName        japanese
-       Encoding         jis-plain
+       Encoding         jis-platex
        LangCode         ja_JP
        LangCode         ja_JP
-       AsBabelOptions   true
+       Requires         japanese
+       InternalEncoding true
+       FontEncoding     None
+       DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
+       QuoteStyle       cjk
 End
 
 # uses CJK package
 Language japanese-cjk
        GuiName         "Japanese (CJK)"
        Encoding        euc-jp
 End
 
 # uses CJK package
 Language japanese-cjk
        GuiName         "Japanese (CJK)"
        Encoding        euc-jp
+       DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
        LangCode        ja_JP
        LangCode        ja_JP
+       Requires        CJK
+       QuoteStyle      cjk
+End
+
+# not supported by babel
+Language kannada
+       GuiName          "Kannada"
+       PolyglossiaName  kannada
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd-MM-yyyy"
+       LangCode         kn_IN
 End
 
 End
 
+# not yet supported by polyglossia
+# not supported by babel
 Language kazakh
 Language kazakh
-       GuiName         "Kazakh"
-       BabelName       kazakh
-       Encoding        pt154
-       LangCode        kk_KZ
+       GuiName          "Kazakh"
+       Encoding         ascii
+       FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|dd MMMM yyyy|yyyy-dd-MM"
+       LangCode         kk_KZ
+       # FIXME: this sets the global font encoding also
+       # if Kazakh is only used as secondary language.
+       PostBabelPreamble
+       \input{t2aenc.def}
+       \AtBeginDocument{\fontencoding{T2A}\selectfont}
+       EndPostBabelPreamble
+End
+
+# not supported by babel
+Language khmer
+       GuiName          "Khmer"
+       PolyglossiaName  khmer
+       Encoding         utf8
+       DateFormats      "d MMMM yyyy|d MMMM yyyy|dd/MM/yyyy"
+       LangCode         km_KH
 End
 
 End
 
-# there is no country code for Korean because ko_KR is the same as ko_KI
 Language korean
        GuiName         "Korean"
        Encoding        euc-kr
 Language korean
        GuiName         "Korean"
        Encoding        euc-kr
-       LangCode        ko
+       QuoteStyle      cjkangle
+       DateFormats     "yyyy년 M월 d일|yyyy. M. d.|yy. M. d."
+       LangCode        ko_KR
+       Requires        CJK
 End
 
 End
 
-# Currently not supported (file format change!)
-# Language kurmanji
-#      GuiName          "Kurmanji"
-#      PolyglossiaName  kurmanji
-#      Encoding         utf8
-#      LangCode         kmr
-# End
+# not yet supported by polyglossia
+Language kurmanji
+       GuiName          "Kurmanji"
+       BabelName        kurmanji
+       Encoding         utf8
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
+       LangCode         kmr
+End
 
 
-# Currently not supported (file format change!)
-# Language lao
-#      GuiName          "Lao"
-#      PolyglossiaName  lao
-#      LangCode         lo
-# End
+# not supported by babel
+Language lao
+       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
+# 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
        Encoding         iso8859-15
 Language latin
        GuiName          "Latin"
        BabelName        latin
        PolyglossiaName  latin
        Encoding         iso8859-15
-       LangCode         la
+       FontEncoding     T1|OT1
+       LangCode         la_LA
 End
 
 # latvian must be loaded locally with babel options,
 # not globally via class options
 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
 Language latvian
        GuiName          "Latvian"
        BabelName        latvian
        PolyglossiaName  latvian
+       QuoteStyle       german
        Encoding         iso8859-4
        Encoding         iso8859-4
+       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
        PolyglossiaName  lithuanian
 Language lithuanian
        GuiName          "Lithuanian"
        BabelName        lithuanian
        PolyglossiaName  lithuanian
+       QuoteStyle       german
        Encoding         iso8859-13
        Encoding         iso8859-13
+       FontEncoding     L7x
+       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
        GuiName          "Lower Sorbian"
        BabelName        lowersorbian
        PolyglossiaName  lsorbian
 End
 
 Language lowersorbian
        GuiName          "Lower Sorbian"
        BabelName        lowersorbian
        PolyglossiaName  lsorbian
+       QuoteStyle       german
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         dsb_DE
 End
 
 Language magyar
        GuiName          "Hungarian"
        LangCode         dsb_DE
 End
 
 Language magyar
        GuiName          "Hungarian"
+       HasGuiSupport    true
        BabelName        magyar
        PolyglossiaName  magyar
        BabelName        magyar
        PolyglossiaName  magyar
+       QuoteStyle       polish
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy. MMMM d.|yyyy. MMM d.|yyyy.MM.dd."
        LangCode         hu_HU
 End
 
        LangCode         hu_HU
 End
 
-# Currently not supported (file format change!)
-# Language marathi
-#      GuiName          "Marathi"
-#      PolyglossiaName  marathi
-#      LangCode         mr
-# End
+# not yet supported by polyglossia
+Language macedonian
+       GuiName          "Macedonian"
+       BabelName        macedonian
+       QuoteStyle       german
+       Encoding         cp1251
+       FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
+       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
+Language marathi
+       GuiName          "Marathi"
+       PolyglossiaName  marathi
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
+       LangCode         mr_IN
+End
 
 # mongolian must be loaded locally with babel options,
 # not globally via class options
 
 # mongolian must be loaded locally with babel options,
 # not globally via class options
+# not yet supported by polyglossia
 Language mongolian
        GuiName          "Mongolian"
        BabelName        mongolian
        Encoding         utf8
 Language mongolian
        GuiName          "Mongolian"
        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
@@ -611,121 +1049,206 @@ Language newzealand
        BabelName        newzealand
        PolyglossiaName  english
        PolyglossiaOpts  "variant=newzealand"
        BabelName        newzealand
        PolyglossiaName  english
        PolyglossiaOpts  "variant=newzealand"
+       QuoteStyle       english
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         en_NZ
 End
 
 Language norsk
        GuiName          "Norwegian (Bokmaal)"
        LangCode         en_NZ
 End
 
 Language norsk
        GuiName          "Norwegian (Bokmaal)"
+       HasGuiSupport    true
        BabelName        norsk
        PolyglossiaName  norsk
        BabelName        norsk
        PolyglossiaName  norsk
+       QuoteStyle       swiss
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         nb_NO
 End
 
 Language nynorsk
        GuiName          "Norwegian (Nynorsk)"
        LangCode         nb_NO
 End
 
 Language nynorsk
        GuiName          "Norwegian (Nynorsk)"
+       HasGuiSupport    true
        BabelName        nynorsk
        PolyglossiaName  nynorsk
        BabelName        nynorsk
        PolyglossiaName  nynorsk
+       QuoteStyle       swiss
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         nn_NO
 End
 
        LangCode         nn_NO
 End
 
-# Currently not supported (file format change!)
-# Language occitan
-#      GuiName          "Occitan"
-#      PolyglossiaName  occitan
-#      LangCode         oc
-# End
+# not supported by babel
+Language occitan
+       GuiName          "Occitan"
+       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
 
 # 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
 # Language oldrussian
 #      GuiName          "Russian (Petrine orthography)"
 #      PolyglossiaName  russian
-#      PolyglossiaOpts  spelling=old
+#      PolyglossiaOpts  "spelling=old"
 #      LangCode         ru_petr1708
 #      LangCode         ru_petr1708
+#       QuoteStyle       russian
 # End
 
 # End
 
+# FIXME DateFormats
+Language piedmontese
+       GuiName          "Piedmontese"
+       HasGuiSupport    true
+       BabelName        piedmontese
+       PolyglossiaName  piedmontese
+       QuoteStyle       french
+       Encoding         iso8859-15
+       FontEncoding     ASCII
+       LangCode         pms_IT
+End
+
+# FontEncoding: QX required for hyphenation but not set by babel
 Language polish
        GuiName          "Polish"
 Language polish
        GuiName          "Polish"
+       HasGuiSupport    true
        BabelName        polish
        PolyglossiaName  polish
        BabelName        polish
        PolyglossiaName  polish
+       QuoteStyle       polish
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     QX|T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         pl_PL
 End
 
 Language portuguese
        GuiName          "Portuguese"
        LangCode         pl_PL
 End
 
 Language portuguese
        GuiName          "Portuguese"
+       HasGuiSupport    true
        BabelName        portuges
        PolyglossiaName  portuges
        BabelName        portuges
        PolyglossiaName  portuges
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|yyyy/MM/dd"
        LangCode         pt_PT
 End
 
 Language romanian
        GuiName          "Romanian"
        LangCode         pt_PT
 End
 
 Language romanian
        GuiName          "Romanian"
+       HasGuiSupport    true
        BabelName        romanian
        PolyglossiaName  romanian
        BabelName        romanian
        PolyglossiaName  romanian
-       Encoding         iso8859-2
+       QuoteStyle       polish
+       Encoding         iso8859-16
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         ro_RO
 End
 
        LangCode         ro_RO
 End
 
+Language romansh
+       GuiName          "Romansh"
+       HasGuiSupport    true
+       BabelName        romansh
+       PolyglossiaName  romansh
+       QuoteStyle       german
+       Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
+       LangCode         rm_CH
+End
+
 Language russian
        GuiName          "Russian"
 Language russian
        GuiName          "Russian"
+       HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
        BabelName        russian
        PolyglossiaName  russian
-       Encoding         koi8
+       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|OT1
+       DateFormats      "MMMM d. 'b'. yyyy|MMM d. 'b'. yyyy|d.M.yyyy"
        LangCode         se_NO
 End
 
        LangCode         se_NO
 End
 
-# Currently not supported (file format change!)
-# Language sanskrit
-#      GuiName          "Sanskrit"
-#      PolyglossiaName  sanskrit
-#      Encoding         utf8
-#      LangCode         sa
-# End
+# not supported by babel
+Language sanskrit
+       GuiName          "Sanskrit"
+       PolyglossiaName  sanskrit
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
+       LangCode         sa_IN
+End
 
 
+# Gaidhlig (Scottish Gaelic)
+# FontEncoding: no hyphenation, grave accent (à, è, ì, ò, ù)
 Language scottish
        GuiName          "Scottish"
        BabelName        scottish
        PolyglossiaName  scottish
 Language scottish
        GuiName          "Scottish"
        BabelName        scottish
        PolyglossiaName  scottish
+       QuoteStyle       english
        Encoding         iso8859-15
        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.
 Language serbian
        GuiName          "Serbian"
 Language serbian
        GuiName          "Serbian"
-       BabelName        serbian
+       HasGuiSupport    true
+       BabelName        serbianc
        PolyglossiaName  serbian
        PolyglossiaName  serbian
-       Encoding         iso8859-5
+       PolyglossiaOpts  "script=Cyrillic"
+       QuoteStyle       polish
+       Encoding         utf8
+        # Cyrillic font encoding required but not set by "serbianc".
+       # FontEncoding     T2A
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         sr_RS
 End
 
        LangCode         sr_RS
 End
 
+# Note: script option is uppercase, even if the polyglossia
+#       manual states otherwise.
 Language serbian-latin
        GuiName          "Serbian (Latin)"
        BabelName        serbian
        PolyglossiaName  serbian
 Language serbian-latin
        GuiName          "Serbian (Latin)"
        BabelName        serbian
        PolyglossiaName  serbian
-       PolyglossiaOpts  "script=latin"
+       PolyglossiaOpts  "script=Latin"
+       QuoteStyle       polish
        Encoding         iso8859-2
        Encoding         iso8859-2
-       LangCode         sr_RS
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
+       LangCode         sr_RS-Latin
 End
 
 Language slovak
        GuiName          "Slovak"
 End
 
 Language slovak
        GuiName          "Slovak"
+       HasGuiSupport    true
        BabelName        slovak
        PolyglossiaName  slovak
        BabelName        slovak
        PolyglossiaName  slovak
+       QuoteStyle       german
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sk_SK
 End
 
        LangCode         sk_SK
 End
 
@@ -733,15 +1256,22 @@ Language slovene
        GuiName          "Slovene"
        BabelName        slovene
        PolyglossiaName  slovenian
        GuiName          "Slovene"
        BabelName        slovene
        PolyglossiaName  slovenian
+       QuoteStyle       german
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sl_SI
 End
 
 Language spanish
        GuiName          "Spanish"
        LangCode         sl_SI
 End
 
 Language spanish
        GuiName          "Spanish"
+       HasGuiSupport    true
        BabelName        spanish
        PolyglossiaName  spanish
        BabelName        spanish
        PolyglossiaName  spanish
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       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{~<>}}
@@ -753,7 +1283,10 @@ Language spanish-mexico
        GuiName          "Spanish (Mexico)"
        BabelName        spanish
        PolyglossiaName  spanish
        GuiName          "Spanish (Mexico)"
        BabelName        spanish
        PolyglossiaName  spanish
+       QuoteStyle       french
        Encoding         iso8859-15
        Encoding         iso8859-15
+       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{~<>.}}
@@ -762,50 +1295,80 @@ End
 
 Language swedish
        GuiName          "Swedish"
 
 Language swedish
        GuiName          "Swedish"
+       HasGuiSupport    true
        BabelName        swedish
        PolyglossiaName  swedish
        BabelName        swedish
        PolyglossiaName  swedish
+       QuoteStyle       swedish
        Encoding         iso8859-15
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         sv_SE
 End
 
        LangCode         sv_SE
 End
 
-# Currently not supported (file format change!)
-# Language syriac
-#      GuiName          "Syriac"
-#      PolyglossiaName  syriac
-#      LangCode         syr
-# End
+# not supported by babel
+Language syriac
+       GuiName          "Syriac"
+       PolyglossiaName  syriac
+       Encoding         utf8
+       RTL              true
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
+       LangCode         syr_SY
+End
 
 
-# Currently not supported (file format change!)
-# Language tamil
-#      GuiName          "Tamil"
-#      PolyglossiaName  tamil
-#      LangCode         Taml
-# End
+# not supported by babel
+Language tamil
+       GuiName          "Tamil"
+       PolyglossiaName  tamil
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
+       LangCode         ta_IN
+End
 
 
-# Currently not supported (file format change!)
-# Language telugu
-#      GuiName          "Telugu"
-#      PolyglossiaName  telugu
-#      LangCode         te
-# End
+# not supported by babel
+Language telugu
+       GuiName          "Telugu"
+       PolyglossiaName  telugu
+       Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
+       LangCode         te_IN
+End
 
 Language thai
        GuiName          "Thai"
        BabelName        thai
        PolyglossiaName  thai
 
 Language thai
        GuiName          "Thai"
        BabelName        thai
        PolyglossiaName  thai
+       QuoteStyle       english
        Encoding         tis620-0
        Encoding         tis620-0
+       FontEncoding     LTH
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         th_TH
        LangCode         th_TH
-       PostBabelPreamble
-       \usepackage{thswitch}
-       EndPostBabelPreamble
+       # Fixme: load font package?
+       # +1 support for font attributes in thai emphasizing etc.
+       # -1 conflict with custom font settings and other languages' fonts
+       # PostBabelPreamble
+       # \usepackage{fonts-tlwg}
+       # EndPostBabelPreamble
+End
+
+# not supported by babel
+#FIXME DateFormats
+Language tibetan
+       GuiName          "Tibetan"
+       PolyglossiaName  tibetan
+       Encoding         utf8
+       LangCode         bo_CN
 End
 
 Language turkish
        GuiName          "Turkish"
 End
 
 Language turkish
        GuiName          "Turkish"
+       HasGuiSupport    true
        BabelName        turkish
        PolyglossiaName  turkish
        BabelName        turkish
        PolyglossiaName  turkish
+       QuoteStyle       english
        Encoding         iso8859-9
        Encoding         iso8859-9
+       FontEncoding     T1|OT1
        LangCode         tr_TR
        LangCode         tr_TR
+       DateFormats      "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy"
        PostBabelPreamble
        \usepackage{xkeyval}
        EndPostBabelPreamble
        PostBabelPreamble
        \usepackage{xkeyval}
        EndPostBabelPreamble
@@ -817,50 +1380,65 @@ Language turkmen
        GuiName          "Turkmen"
        BabelName        turkmen
        PolyglossiaName  turkmen
        GuiName          "Turkmen"
        BabelName        turkmen
        PolyglossiaName  turkmen
+       QuoteStyle       swiss
        Encoding         utf8
        Encoding         utf8
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy ý. MMMM d|dd.MM.yyyy ý.|dd.MM.yy ý."
        LangCode         tk_TM
        LangCode         tk_TM
-       AsBabelOptions   true
 End
 
 Language ukrainian
        GuiName          "Ukrainian"
 End
 
 Language ukrainian
        GuiName          "Ukrainian"
+       HasGuiSupport    true
        BabelName        ukrainian
        PolyglossiaName  ukrainian
        BabelName        ukrainian
        PolyglossiaName  ukrainian
+       QuoteStyle       russian
        Encoding         koi8-u
        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
        GuiName          "Upper Sorbian"
        BabelName        uppersorbian
        PolyglossiaName  usorbian
 End
 
 Language uppersorbian
        GuiName          "Upper Sorbian"
        BabelName        uppersorbian
        PolyglossiaName  usorbian
+       QuoteStyle       german
        Encoding         iso8859-2
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         hsb_DE
 End
 
        LangCode         hsb_DE
 End
 
-# Currently not supported (file format change!)
-# Language urdu
-#      GuiName          "Urdu"
-#      PolyglossiaName  urdu
-#      LangCode         ur
-# End
+# not supported by babel
+Language urdu
+       GuiName          "Urdu"
+       PolyglossiaName  urdu
+       Encoding         utf8
+       DateFormats      "d MMMM, yyyy|d MMM yyyy|dd/MM/yyyy"
+       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
        PolyglossiaName  vietnamese
+       QuoteStyle       english
        Encoding         utf8
        Encoding         utf8
+       DateFormats      "dd 'tháng' MMMM yyyy|dd-MM-yyyy|dd/MM/yyyy"
+       FontEncoding     T5
        LangCode         vi_VN
        LangCode         vi_VN
-       AsBabelOptions   true
 End
 
 Language welsh
        GuiName          "Welsh"
        BabelName        welsh
        PolyglossiaName  welsh
 End
 
 Language welsh
        GuiName          "Welsh"
        BabelName        welsh
        PolyglossiaName  welsh
+       QuoteStyle       british
        Encoding         iso8859-15
        Encoding         iso8859-15
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
+       FontEncoding     T1|OT1
        LangCode         cy_GB
 End
        LangCode         cy_GB
 End