]> git.lyx.org Git - lyx.git/blobdiff - lib/languages
ctest update.
[lyx.git] / lib / languages
index 0184f48edd9d586f30e993cd5fcf9afdfef63844..a39c5c75286e4eb6bceb95ea5dc1d6c604ea83df 100644 (file)
 #      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>
-#      FontEncoding       <font encoding>
-#      QuoteStyle         <danish|english|french|german|polish|swedish>
+#      FontEncoding       <font encoding|font encoding|...>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
 #      AsBabelOptions     <true|false>
 #        <extra latex code inserted after babel>
 #      EndPostBabelPreamble
 #      Requires           <requirement>
+#      Provides           <babel language feature>
 # End
 #
 #
 # NOTES:
 #
+# * If we provide Polyglossia languages with different options, the default
+#   options (such as "variant=american", "spelling=modern") should be
+#   explicitely spelled out (in order to provide mixing of such variants).
 # * Omitted elements will be treated as empty (if string) or "false"
 #   (if boolean).
 # * When HasGuiSupport is true, the language is candidate to appear in
 #   (UK) -- try to select the entry that is most generic -- here
 #   English.
 # * The QuoteStyle arguments correspond to the following styles:
-#   - danish:  >>text<<  >text<   (inward guillemets)
-#   - english: ``text''  `text'   (66_99)
-#   - french:  <<text>>  <text>   (outward guillemets)
-#   - german:  ,,text``  ,text`   (99/66)
-#   - polish:  ,,text''  ,text'   (99/99)
-#   - swedish: ''text''  'text'   (99_99)
+#                 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" and "use non-TeX fonts" is FALSE.
+#   is set to "Language Default" or "Language Default (no inputenc)"
+#   and "use non-TeX fonts" is FALSE.
+#   Encoding "inherit" means: keep encoding of the context (used by
+#   latex_language).
+# * FontEncoding is a bar-separated list of font encodings.
+#   The first value is the required font encoding for correct hyphenation with
+#   8-bit TeX (http://www.hyphenation.org). Eventually following values may be
+#   used if the selected font is unavailable in FontEncoding. They provide all
+#   letters used in the language, but some only as "surrogate pairs" with
+#   possible problems for hyphenation and drag-and-drop from the generated
+#   documents. Default: "ASCII".
+#   * "FontEncoding ASCII" means: "works with any standard text encoding
+#     (T<n>) as well as OT1".
+#   * "FontEncoding none" tells LyX that fontenc should not be loaded with
+#     this language.
 # * InternalEncoding is used to tell LyX that babel internally sets a
 #   non-standard font encoding (such as hebrew to LHE or greek to LGR).
-#   If True, LyX cares for characters/macros that do not exist in
+#   If True, LyX takes care for characters/macros that do not exist in
 #   some font encodings ("<", ">", "|" and straight quote).
 #   It is not required for standard encodings like T2A. See bug #5091.
-# * "FontEncoding none" tells LyX that fontenc should not be loaded with this
-#   language.
 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
-#   globally to the class. Some languages (basically those not directly
-#   supported by babel) need this.
+#   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
 #   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).
 #
 ##########################################################################
 
@@ -87,13 +132,13 @@ Language ignore
        GuiName          "Ignore"
        BabelName        ignore
        PolyglossiaName  ignore
-       Encoding         iso8859-1
+       Encoding         inherit
        LangCode         ignore
 End
 
 Language latex
        GuiName          "LaTeX"
-       Encoding         iso8859-1
+       Encoding         inherit
        LangCode         latex
 End
 
@@ -107,15 +152,20 @@ Language afrikaans
        BabelName        afrikaans
        QuoteStyle       polish
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|yyyy/MM/dd"
        LangCode         af_ZA
 End
 
+# FontEncoding: no hyphenation, but uses Ç/ç und Ë/ë
 Language albanian
        GuiName          "Albanian"
        BabelName        albanian
        PolyglossiaName  albanian
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode         sq_AL
 End
 
@@ -126,6 +176,8 @@ Language american
        PolyglossiaOpts  "variant=american"
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        LangCode         en_US
 End
 
@@ -134,6 +186,7 @@ Language amharic
        GuiName          "Amharic"
        PolyglossiaName  amharic
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode         am_ET
 End
 
@@ -146,12 +199,14 @@ Language ancientgreek
        \languageattribute{greek}{ancient}
        EndPostBabelPreamble
        PolyglossiaName   greek
-       PolyglossiaOpts   variant=ancient
+       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
@@ -162,6 +217,7 @@ Language arabic_arabtex
        BabelName        arabtex
        QuoteStyle       french
        Encoding         cp1256
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
        LangCode         ar_SA
 End
@@ -173,9 +229,14 @@ Language arabic_arabi
        PolyglossiaName  arabic
        QuoteStyle       french
        Encoding         cp1256
-       FontEncoding     "LFE,LAE"
+       FontEncoding     LAE
+       DateFormats      "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy"
        RTL              true
-       AsBabelOptions   true
+       PostBabelPreamble
+         % arabi + hyperref redefines \noboundary as local textcommand
+         \let\orig@noboundary\noboundary
+         \DeclareTextCommandDefault{\noboundary}{\orig@noboundary}
+       EndPostBabelPreamble
        LangCode         ar_SA
 End
 
@@ -183,8 +244,9 @@ End
 Language armenian
        GuiName          "Armenian"
        PolyglossiaName  armenian
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         utf8
+       DateFormats      "d MMMM، yyyy|d MMM، yyyy|d/M/yyyy"
        LangCode         hy_AM
 End
 
@@ -194,21 +256,26 @@ Language 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
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        QuoteStyle       english
        LangCode         en_AU
 End
 
 # In polyglossia, this is supported since release 1.33.4 (May 2014)
 # 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
@@ -216,7 +283,10 @@ Language austrian
        PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
-       LangCode         de_AT
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
+       LangCode         de
+       LangVariety      alt
 End
 
 # In polyglossia, this is supported since release 1.33.4 (May 2014)
@@ -225,9 +295,11 @@ Language naustrian
        GuiName          "German (Austria)"
        BabelName        naustrian
        PolyglossiaName  german
-       PolyglossiaOpts  "variant=austrian,babelshorthands=true"
+       PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_AT
 End
 
@@ -238,6 +310,8 @@ Language bahasa
        PolyglossiaName  bahasai
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         id_ID
 End
 
@@ -247,6 +321,7 @@ Language bahasam
        PolyglossiaName  bahasam
        QuoteStyle       english
        Encoding         iso8859-15
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         ms_MY
 End
 
@@ -255,8 +330,10 @@ Language basque
        HasGuiSupport    true
        BabelName        basque
        PolyglossiaName  basque
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|yyyy/MM/dd"
        LangCode         eu_ES
        PostBabelPreamble
        \addto\extrasbasque{\bbl@deactivate{~}}
@@ -264,21 +341,27 @@ Language basque
 End
 
 # not yet supported by polyglossia
+# Up to 2018-08-25 (babel-belarusian 1.4), the babel option is "belarusianb"
+# but the language name "belarusian" (without trailing "b").
 Language belarusian
        GuiName          "Belarusian"
        BabelName        belarusian
        QuoteStyle       french
        Encoding         cp1251
+       FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|d.M.yyyy"
        LangCode         be_BY
-       AsBabelOptions   true
 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
 
@@ -289,15 +372,20 @@ Language brazilian
        PolyglossiaName  brazil
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
        LangCode         pt_BR
 End
 
+# FontEncoding: # ? no hyphenation, but uses ñ
 Language breton
        GuiName          "Breton"
        BabelName        breton
        PolyglossiaName  breton
        QuoteStyle       french
        Encoding         iso8859-15
+       #FontEncoding    T1
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         br_FR
 End
 
@@ -306,8 +394,10 @@ Language british
        BabelName        british
        PolyglossiaName  english
        PolyglossiaOpts  "variant=british"
-       QuoteStyle       english
+       QuoteStyle       british
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         en_GB
 End
 
@@ -318,7 +408,9 @@ Language bulgarian
        QuoteStyle       german
        Encoding         cp1251
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|yyyy-M-d"
        LangCode         bg_BG
+       Provides         textcyrillic
 End
 
 # not yet supported by polyglossia
@@ -329,10 +421,14 @@ Language canadian
 #      PolyglossiaOpts  "variant=canadian"
        QuoteStyle       english
        Encoding         iso8859-15
+       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
@@ -340,6 +436,8 @@ Language canadien
 #      PolyglossiaOpts  "variant=canadien"
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         fr_CA
 End
 
@@ -351,6 +449,8 @@ Language catalan
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d / MMMM / yyyy|d / MMM / yyyy|dd/MM/yyyy"
        LangCode         ca_ES
 End
 
@@ -361,6 +461,7 @@ Language chinese-simplified
        Encoding         euc-cn
        QuoteStyle       english
        LangCode         zh_CN
+       DateFormats      "yyyy年M月d日|yyyy-M-d|yy-M-d"
        Requires         CJK
 End
 
@@ -368,13 +469,15 @@ End
 Language chinese-traditional
        GuiName         "Chinese (traditional)"
        HasGuiSupport    true
-       QuoteStyle       english
-       Encoding        utf8-cjk
-       LangCode        zh_TW
+       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
@@ -388,6 +491,8 @@ Language croatian
        PolyglossiaName  croatian
        QuoteStyle       polish
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy.|d. MMM. yyyy.|dd.MM.yyyy."
        LangCode         hr_HR
 End
 
@@ -398,6 +503,8 @@ Language czech
        PolyglossiaName  czech
        QuoteStyle       german
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM. yyyy|d.M.yyyy"
        LangCode         cs_CZ
 End
 
@@ -408,6 +515,8 @@ Language danish
        PolyglossiaName  danish
        QuoteStyle       danish
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         da_DK
 End
 
@@ -416,6 +525,7 @@ Language divehi
        GuiName          "Divehi (Maldivian)"
        PolyglossiaName  divehi
        Encoding         utf8
+       DateFormats      "yyyy MMMM dd|yyyy MMM dd|dd/MM/yyyy"
        LangCode         dv_MV
 End
 
@@ -427,6 +537,8 @@ Language dutch
        PolyglossiaOpts  "babelshorthands=true"
        QuoteStyle       polish
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|d-M-yyyy"
        LangCode         nl_NL
 End
 
@@ -435,19 +547,24 @@ Language english
        HasGuiSupport    true
        BabelName        english
        PolyglossiaName  english
+       PolyglossiaOpts  "variant=american"
        QuoteStyle       english
+       DateFormats      "MMMM dd, yyyy|MMM dd, yyyy|M/d/yyyy"
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         en_US
 End
 
 # Esperanto has no country code because it is an auxiliary language.
-# We therefore the name of its hunspell dictionary.
+# We therefore use the name of its hunspell dictionary.
 Language esperanto
        GuiName          "Esperanto"
        BabelName        esperanto
        PolyglossiaName  esperanto
        QuoteStyle       english
        Encoding         iso8859-3
+       FontEncoding     IL3|T1|OT1
+       DateFormats      "'la' d 'de' MMMM yyyy|'la' d 'de' MMM yyyy|MM/dd/yyyy"
        LangCode         eo_EO
 End
 
@@ -455,8 +572,10 @@ Language estonian
        GuiName          "Estonian"
        BabelName        estonian
        PolyglossiaName  estonian
-       QuoteStyle       polish
+       QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         et_EE
        PostBabelPreamble
        \addto\extrasestonian{\bbl@deactivate{~}}
@@ -470,9 +589,11 @@ Language farsi
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
-       FontEncoding     "LFE,LAE"
+       FontEncoding     LAE,LFE
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy/M/d"
        RTL              true
        LangCode         fa_IR
+       QuoteStyle       english
        PostBabelPreamble
        \DeclareTextSymbol{\guillemotright}{LFE}{62}
        \DeclareTextSymbol{\guillemotleft}{LFE}{60}
@@ -486,6 +607,8 @@ Language finnish
        PolyglossiaName  finnish
        QuoteStyle       swedish
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         fi_FI
 End
 
@@ -497,6 +620,8 @@ Language french
        PolyglossiaName  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{%
@@ -513,6 +638,8 @@ Language 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
 
@@ -523,12 +650,15 @@ Language galician
        PolyglossiaName  galician
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|dd/MM/yyyy"
        LangCode         gl_ES
        PostBabelPreamble
        \addto\shorthandsgalician{\galiciandeactivate{~}}
        EndPostBabelPreamble
 End
 
+# FIXME DateFormats
 Language georgian
        GuiName          "Georgian"
        BabelName        georgian
@@ -543,9 +673,11 @@ Language 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
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de
        LangVariety      alt
 End
@@ -555,9 +687,11 @@ Language ngerman
        HasGuiSupport    true
        BabelName        ngerman
        PolyglossiaName  german
-       PolyglossiaOpts  "babelshorthands=true"
+       PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_DE
 End
 
@@ -569,9 +703,11 @@ Language german-ch
        GuiName          "German (Switzerland)"
        BabelName        nswissgerman
        PolyglossiaName  german
-       PolyglossiaOpts  "variant=swiss,babelshorthands=true"
-       QuoteStyle       danish
+       PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
+       QuoteStyle       swiss
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_CH
 End
 
@@ -583,8 +719,10 @@ Language german-ch-old
        BabelName        swissgerman
        PolyglossiaName  german
        PolyglossiaOpts  "variant=swiss,spelling=old,babelshorthands=true"
-       QuoteStyle       danish
+       QuoteStyle       swiss
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy"
        LangCode         de_CH
 End
 
@@ -593,11 +731,14 @@ Language greek
        HasGuiSupport     true
        BabelName         greek
        PolyglossiaName   greek
+       PolyglossiaOpts   "variant=monotonic"
        QuoteStyle        french
        Encoding          iso8859-7
        InternalEncoding  true
        FontEncoding      LGR
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode          el_GR
+       Provides          textgreek
 End
 
 Language polutonikogreek
@@ -609,7 +750,9 @@ Language polutonikogreek
        Encoding          iso8859-7
        InternalEncoding  true
        FontEncoding      LGR
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy"
        LangCode          el_GR
+       Provides          textgreek
 End
 
 Language hebrew
@@ -620,9 +763,14 @@ Language hebrew
        Encoding          cp1255
        QuoteStyle        english
        InternalEncoding  true
-# Hebrew babel loads the font encodings
-# itself in the appropriate order
-#      FontEncoding      LHE
+       # 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
+         \providecommand{\l@chapter}{\relax}
+       EndPreBabelPreamble
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        RTL               true
        LangCode          he_IL
 End
@@ -632,6 +780,7 @@ Language hindi
        GuiName          "Hindi"
        PolyglossiaName  hindi
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMM yyyy|dd-MM-yyyy"
        LangCode         hi_IN
 End
 
@@ -644,14 +793,18 @@ End
 #      BabelName       hungarian
 #      Encoding        iso8859-2
 #      LangCode        hu_HU
+#       QuoteStyle      polish
 #End
 
+# FontEncoding: OT1 misses ð and Þ
 Language icelandic
        GuiName          "Icelandic"
        BabelName        icelandic
        PolyglossiaName  icelandic
        QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     T1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         is_IS
 End
 
@@ -663,7 +816,10 @@ Language interlingua
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         ia_IA
+       DateFormats      "'le' d 'de' MMMM yyyy|'le' d 'de' MMM yyyy|yyyy-mm-dd"
+       QuoteStyle       english
 End
 
 Language irish
@@ -672,6 +828,8 @@ Language irish
        PolyglossiaName  irish
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd/MM/yyyy"
        LangCode         ga_IE
 End
 
@@ -682,6 +840,8 @@ Language italian
        PolyglossiaName  italian
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "dd MMMM yyyy|dd/MMM/yyyy|dd/MM/yyyy"
        LangCode         it_IT
 End
 
@@ -696,18 +856,21 @@ Language japanese
        BabelName        japanese
        Encoding         jis-platex
        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
+       DateFormats      "yyyy年M月d日|yyyy/MM/dd|yy/MM/dd"
        LangCode        ja_JP
        Requires        CJK
+       QuoteStyle      cjk
 End
 
 # not supported by babel
@@ -715,15 +878,20 @@ Language kannada
        GuiName          "Kannada"
        PolyglossiaName  kannada
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|dd MMMM yyyy|dd-MM-yyyy"
        LangCode         kn_IN
 End
 
 # not yet supported by polyglossia
 # not supported by babel
 Language kazakh
-       GuiName         "Kazakh"
-       Encoding        ascii
-       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}
@@ -735,13 +903,15 @@ Language khmer
        GuiName          "Khmer"
        PolyglossiaName  khmer
        Encoding         utf8
+       DateFormats      "d MMMM yyyy|d MMMM yyyy|dd/MM/yyyy"
        LangCode         km_KH
 End
 
 Language korean
        GuiName         "Korean"
        Encoding        euc-kr
-       QuoteStyle      english
+       QuoteStyle      cjkangle
+       DateFormats     "yyyy년 M월 d일|yyyy. M. d.|yy. M. d."
        LangCode        ko_KR
        Requires        CJK
 End
@@ -751,8 +921,9 @@ Language kurmanji
        GuiName          "Kurmanji"
        BabelName        kurmanji
        Encoding         utf8
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd"
        LangCode         kmr
-       AsBabelOptions   true
 End
 
 # not supported by babel
@@ -760,43 +931,48 @@ 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.
 # We therefore the name of its hunspell dictionary.
+# FIXME DateFormats
 Language latin
        GuiName          "Latin"
        BabelName        latin
        PolyglossiaName  latin
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
        LangCode         la_LA
 End
 
 # latvian must be loaded locally with babel options,
 # not globally via class options
+# FontEncoding: L7x required for hyphenation but not set by Babel
 Language latvian
        GuiName          "Latvian"
        BabelName        latvian
        PolyglossiaName  latvian
-       QuoteStyle       danish
+       QuoteStyle       german
        Encoding         iso8859-4
-#      FontEncoding     L7x # (required for hyphenation but not set by babel)
+       FontEncoding     L7x|T1|OT1
+       DateFormats      "yyyy. 'gada' d. MMMM|yyyy. 'gada' d. MMM|dd.MM.yyyy"
        LangCode         lv_LV
-       AsBabelOptions   true
 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
        QuoteStyle       german
-       Encoding         iso8859-4
+       Encoding         iso8859-13
        FontEncoding     L7x
+       DateFormats      "yyyy 'm.' MMMM d 'd.'|yyyy 'm.' MMMM d 'd.'|yyyy-MM-dd"
        LangCode         lt_LT
-       AsBabelOptions   true
 End
 
 Language lowersorbian
@@ -805,6 +981,8 @@ Language lowersorbian
        PolyglossiaName  lsorbian
        QuoteStyle       german
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         dsb_DE
 End
 
@@ -815,6 +993,8 @@ Language magyar
        PolyglossiaName  magyar
        QuoteStyle       polish
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy. MMMM d.|yyyy. MMM d.|yyyy.MM.dd."
        LangCode         hu_HU
 End
 
@@ -825,7 +1005,19 @@ Language 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
@@ -833,6 +1025,7 @@ Language marathi
        GuiName          "Marathi"
        PolyglossiaName  marathi
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         mr_IN
 End
 
@@ -844,8 +1037,9 @@ Language mongolian
        BabelName        mongolian
        Encoding         utf8
        FontEncoding     T2A
+       DateFormats      "yyyy оны M сарын d|d-M-yyyy|dd-MM-yyyy"
        LangCode         mn_MN
-       AsBabelOptions   true
+       Provides         textcyrillic
 End
 
 Language newzealand
@@ -855,6 +1049,8 @@ Language newzealand
        PolyglossiaOpts  "variant=newzealand"
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         en_NZ
 End
 
@@ -863,8 +1059,10 @@ Language norsk
        HasGuiSupport    true
        BabelName        norsk
        PolyglossiaName  norsk
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         nb_NO
 End
 
@@ -873,8 +1071,10 @@ Language nynorsk
        HasGuiSupport    true
        BabelName        nynorsk
        PolyglossiaName  nynorsk
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         nn_NO
 End
 
@@ -884,19 +1084,24 @@ Language 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
+# Note: If this is enabled, russian needs to get
+#       PolyglossiaOpts  "spelling=modern"
 # Language oldrussian
 #      GuiName          "Russian (Petrine orthography)"
 #      PolyglossiaName  russian
-#      PolyglossiaOpts  spelling=old
+#      PolyglossiaOpts  "spelling=old"
 #      LangCode         ru_petr1708
+#       QuoteStyle       russian
 # End
 
+# FIXME DateFormats
 Language piedmontese
        GuiName          "Piedmontese"
        HasGuiSupport    true
@@ -904,9 +1109,11 @@ Language piedmontese
        PolyglossiaName  piedmontese
        QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     ASCII
        LangCode         pms_IT
 End
 
+# FontEncoding: QX required for hyphenation but not set by babel
 Language polish
        GuiName          "Polish"
        HasGuiSupport    true
@@ -914,7 +1121,8 @@ Language polish
        PolyglossiaName  polish
        QuoteStyle       polish
        Encoding         iso8859-2
-#      FontEncoding     QX # (required for hyphenation but not set by babel)
+       FontEncoding     QX|T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         pl_PL
 End
 
@@ -923,8 +1131,10 @@ Language portuguese
        HasGuiSupport    true
        BabelName        portuges
        PolyglossiaName  portuges
-       QuoteStyle       english
+       QuoteStyle       french
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d 'de' MMMM 'de' yyyy|d 'de' MMM 'de' yyyy|yyyy/MM/dd"
        LangCode         pt_PT
 End
 
@@ -935,6 +1145,8 @@ Language romanian
        PolyglossiaName  romanian
        QuoteStyle       polish
        Encoding         iso8859-16
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         ro_RO
 End
 
@@ -945,6 +1157,8 @@ Language romansh
        PolyglossiaName  romansh
        QuoteStyle       german
        Encoding         iso8859-15
+       FontEncoding     ASCII
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         rm_CH
 End
 
@@ -953,17 +1167,22 @@ Language russian
        HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
-       QuoteStyle       french
+       QuoteStyle       russian
        Encoding         koi8-r
        FontEncoding     T2A
+       DateFormats      "d MMMM yyyy 'г'.|d MMM yyyy 'г'.|dd.MM.yyyy"
        LangCode         ru_RU
+       Provides         textcyrillic
 End
 
+# FontEncoding: no hyphenation, but diacritics
 Language samin
        GuiName          "North Sami"
        BabelName        samin
        PolyglossiaName  samin
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "MMMM d. 'b'. yyyy|MMM d. 'b'. yyyy|d.M.yyyy"
        LangCode         se_NO
 End
 
@@ -972,37 +1191,50 @@ 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
        QuoteStyle       english
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         gd_GB
 End
 
+# Note: script option is uppercase, even if the polyglossia
+#       manual states otherwise.
 Language serbian
        GuiName          "Serbian"
        HasGuiSupport    true
        BabelName        serbianc
        PolyglossiaName  serbian
-       QuoteStyle       german
+       PolyglossiaOpts  "script=Cyrillic"
+       QuoteStyle       polish
        Encoding         utf8
-       FontEncoding     T2A
+        # Cyrillic font encoding required but not set by "serbianc".
+       # FontEncoding     T2A
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         sr_RS
-       AsBabelOptions   true
 End
 
+# Note: script option is uppercase, even if the polyglossia
+#       manual states otherwise.
 Language serbian-latin
        GuiName          "Serbian (Latin)"
        BabelName        serbian
        PolyglossiaName  serbian
        PolyglossiaOpts  "script=Latin"
-       QuoteStyle       german
+       QuoteStyle       polish
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy"
        LangCode         sr_RS-Latin
 End
 
@@ -1013,6 +1245,8 @@ Language slovak
        PolyglossiaName  slovak
        QuoteStyle       german
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sk_SK
 End
 
@@ -1022,6 +1256,8 @@ Language slovene
        PolyglossiaName  slovenian
        QuoteStyle       german
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "dd. MMMM yyyy|d. MMM yyyy|d.M.yyyy"
        LangCode         sl_SI
 End
 
@@ -1032,6 +1268,8 @@ Language spanish
        PolyglossiaName  spanish
        QuoteStyle       french
        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{~<>}}
@@ -1045,6 +1283,8 @@ Language spanish-mexico
        PolyglossiaName  spanish
        QuoteStyle       french
        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{~<>.}}
@@ -1058,6 +1298,8 @@ Language swedish
        PolyglossiaName  swedish
        QuoteStyle       swedish
        Encoding         iso8859-15
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|yyyy-MM-dd"
        LangCode         sv_SE
 End
 
@@ -1067,6 +1309,7 @@ Language syriac
        PolyglossiaName  syriac
        Encoding         utf8
        RTL              true
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        LangCode         syr_SY
 End
 
@@ -1075,6 +1318,7 @@ Language tamil
        GuiName          "Tamil"
        PolyglossiaName  tamil
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         ta_IN
 End
 
@@ -1083,6 +1327,7 @@ Language telugu
        GuiName          "Telugu"
        PolyglossiaName  telugu
        Encoding         utf8
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy"
        LangCode         te_IN
 End
 
@@ -1092,14 +1337,19 @@ Language thai
        PolyglossiaName  thai
        QuoteStyle       english
        Encoding         tis620-0
-#      FontEncoding     LTH
+       FontEncoding     LTH
+       DateFormats      "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
        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
@@ -1112,9 +1362,11 @@ Language turkish
        HasGuiSupport    true
        BabelName        turkish
        PolyglossiaName  turkish
-       QuoteStyle       french
+       QuoteStyle       english
        Encoding         iso8859-9
+       FontEncoding     T1|OT1
        LangCode         tr_TR
+       DateFormats      "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy"
        PostBabelPreamble
        \usepackage{xkeyval}
        EndPostBabelPreamble
@@ -1126,10 +1378,11 @@ Language turkmen
        GuiName          "Turkmen"
        BabelName        turkmen
        PolyglossiaName  turkmen
-       QuoteStyle       french
+       QuoteStyle       swiss
        Encoding         utf8
+       FontEncoding     T1|OT1
+       DateFormats      "yyyy ý. MMMM d|dd.MM.yyyy ý.|dd.MM.yy ý."
        LangCode         tk_TM
-       AsBabelOptions   true
 End
 
 Language ukrainian
@@ -1137,10 +1390,12 @@ Language ukrainian
        HasGuiSupport    true
        BabelName        ukrainian
        PolyglossiaName  ukrainian
-       QuoteStyle       french
+       QuoteStyle       russian
        Encoding         koi8-u
        FontEncoding     T2A
+       DateFormats      "dd MMMM yyyy|d MM yyyy|dd.MM.yyyy"
        LangCode         uk_UA
+       Provides         textcyrillic
 End
 
 Language uppersorbian
@@ -1149,6 +1404,8 @@ Language uppersorbian
        PolyglossiaName  usorbian
        QuoteStyle       german
        Encoding         iso8859-2
+       FontEncoding     T1|OT1
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy"
        LangCode         hsb_DE
 End
 
@@ -1157,29 +1414,29 @@ 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"
-       BabelName        vietnam
+       BabelName        vietnamese
        PolyglossiaName  vietnamese
-       QuoteStyle       french
+       QuoteStyle       english
        Encoding         utf8
+       DateFormats      "dd 'tháng' MMMM yyyy|dd-MM-yyyy|dd/MM/yyyy"
+       FontEncoding     T5
        LangCode         vi_VN
-       AsBabelOptions   true
-       Requires         vietnamese
 End
 
 Language welsh
        GuiName          "Welsh"
        BabelName        welsh
        PolyglossiaName  welsh
-       QuoteStyle       english
+       QuoteStyle       british
        Encoding         iso8859-15
+       DateFormats      "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
+       FontEncoding     T1|OT1
        LangCode         cy_GB
 End