]> git.lyx.org Git - lyx.git/blobdiff - lib/languages
Win installer: prepare for next release
[lyx.git] / lib / languages
index 7287a54a83e72f0d11eb152dc49fe353f4e64ea6..443373831e23d5d219184575b7e5b89b71f07c93 100644 (file)
@@ -6,10 +6,12 @@
 #
 # Language <lyxname>
 #      GuiName            "<Gui Name>"
+#      HasGuiSupport      <true|false>
 #      BabelName          <babelname>
 #      PolyglossiaName    <polyglossianame>
 #      PolyglossiaOpts    "<language-specific options>"
 #      Encoding           <encoding>
+#      FontEncoding       <font encoding>
 #      QuoteStyle         <danish|english|french|german|polish|swedish>
 #      InternalEncoding   <true|false>
 #      RTL                <true|false>
 #
 # NOTES:
 #
+# * If we provide Polyglossia languages with different options, the default
+#   options (such as "variant=american", "spelling=modern") should be
+#   explicitely spelled out (in order to provide mixing of such variants).
 # * Omitted elements will be treated as empty (if string) or "false"
 #   (if boolean).
+# * When HasGuiSupport is true, the language is candidate to appear in
+#   the list of possible GUI languages in the Preferences dialog. It
+#   will actually appear there only if a corresponding .mo file can be
+#   found among the translations. When several languages correspond to
+#   the same translation -- like English, English (US) and English
+#   (UK) -- try to select the entry that is most generic -- here
+#   English.
 # * The QuoteStyle arguments correspond to the following styles:
 #   - danish:  >>text<<  >text<   (inward guillemets)
 #   - english: ``text''  `text'   (66_99)
 #   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.
-# * 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.
+# * 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.
+# * 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
+#   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.
 #   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
@@ -116,19 +133,35 @@ Language american
 End
 
 # not supported by babel
+Language amharic
+       GuiName          "Amharic"
+       PolyglossiaName  amharic
+       Encoding         utf8
+       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)"
-       PolyglossiaName  greek
-       PolyglossiaOpts  variant=ancient
+       GuiName           "Greek (ancient)"
+       BabelName         greek
+       PostBabelPreamble
+       \languageattribute{greek}{ancient}
+       EndPostBabelPreamble
+       PolyglossiaName   greek
+       PolyglossiaOpts   "variant=ancient"
        QuoteStyle        french
-       Encoding         iso8859-7
-       LangCode         grc_GR
+       Encoding          iso8859-7
+       InternalEncoding  true
+       FontEncoding      LGR
+       LangCode          grc_GR
 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)"
+       HasGuiSupport    true
        BabelName        arabtex
        QuoteStyle       french
        Encoding         cp1256
@@ -143,6 +176,7 @@ Language arabic_arabi
        PolyglossiaName  arabic
        QuoteStyle       french
        Encoding         cp1256
+       FontEncoding     "LFE,LAE"
        RTL              true
        AsBabelOptions   true
        LangCode         ar_SA
@@ -157,6 +191,15 @@ Language armenian
        LangCode         hy_AM
 End
 
+# not supported by babel
+Language asturian
+       GuiName          "Asturian"
+       PolyglossiaName  asturian
+       QuoteStyle       french
+       Encoding         iso8859-15
+       LangCode         ast_ES
+End
+
 Language australian
        GuiName          "English (Australia)"
        BabelName        australian
@@ -167,19 +210,25 @@ Language australian
        LangCode         en_AU
 End
 
-# not yet supported by polyglossia
+# 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 austrian
        GuiName          "German (Austria, old spelling)"
        BabelName        austrian
+       PolyglossiaName  german
+       PolyglossiaOpts  "variant=austrian,spelling=old,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        LangCode         de_AT
 End
 
-# not yet supported by polyglossia
+# In polyglossia, this is supported since release 1.33.4 (May 2014)
+# We introduce it with LyX 2.2 to give the support time to settle.
 Language naustrian
        GuiName          "German (Austria)"
        BabelName        naustrian
+       PolyglossiaName  german
+       PolyglossiaOpts  "variant=austrian,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        LangCode         de_AT
@@ -187,6 +236,7 @@ End
 
 Language bahasa
        GuiName          "Indonesian"
+       HasGuiSupport    true
        BabelName        bahasa
        PolyglossiaName  bahasai
        QuoteStyle       english
@@ -205,6 +255,7 @@ End
 
 Language basque
        GuiName          "Basque"
+       HasGuiSupport    true
        BabelName        basque
        PolyglossiaName  basque
        QuoteStyle       french
@@ -225,8 +276,18 @@ Language belarusian
        AsBabelOptions   true
 End
 
+# not yet supported by polyglossia
+Language bosnian
+       GuiName          "Bosnian"
+       BabelName        bosnian
+       QuoteStyle       polish
+       Encoding         iso8859-2
+       LangCode         bs_BA
+End
+
 Language brazilian
        GuiName          "Portuguese (Brazil)"
+       HasGuiSupport    true
        BabelName        brazil
        PolyglossiaName  brazil
        QuoteStyle       english
@@ -259,6 +320,7 @@ Language bulgarian
        PolyglossiaName  bulgarian
        QuoteStyle       german
        Encoding         cp1251
+       FontEncoding     T2A
        LangCode         bg_BG
 End
 
@@ -274,6 +336,8 @@ Language canadian
 End
 
 # not yet supported by polyglossia
+# Note: If polyglossia support gets implemented, french needs
+#       PolyglossiaOpts  "variant=french"
 Language canadien
        GuiName          "French (Canada)"
        BabelName        canadien
@@ -286,6 +350,7 @@ End
 
 Language catalan
        GuiName          "Catalan"
+       HasGuiSupport    true
        BabelName        catalan
        PolyglossiaName  catalan
        PolyglossiaOpts  "babelshorthands=true"
@@ -297,6 +362,7 @@ End
 # uses CJK package
 Language chinese-simplified
        GuiName          "Chinese (simplified)"
+       HasGuiSupport    true
        Encoding         euc-cn
        QuoteStyle       english
        LangCode         zh_CN
@@ -306,9 +372,10 @@ End
 # uses CJK package
 Language chinese-traditional
        GuiName         "Chinese (traditional)"
+       HasGuiSupport    true
        QuoteStyle       english
        Encoding        utf8-cjk
-       LangCode        zh_CN
+       LangCode        zh_TW
        Requires         CJK
 End
 
@@ -331,6 +398,7 @@ End
 
 Language czech
        GuiName          "Czech"
+       HasGuiSupport    true
        BabelName        czech
        PolyglossiaName  czech
        QuoteStyle       german
@@ -340,6 +408,7 @@ End
 
 Language danish
        GuiName          "Danish"
+       HasGuiSupport    true
        BabelName        danish
        PolyglossiaName  danish
        QuoteStyle       danish
@@ -357,6 +426,7 @@ End
 
 Language dutch
        GuiName          "Dutch"
+       HasGuiSupport    true
        BabelName        dutch
        PolyglossiaName  dutch
        PolyglossiaOpts  "babelshorthands=true"
@@ -367,8 +437,10 @@ End
 
 Language english
        GuiName          "English"
+       HasGuiSupport    true
        BabelName        english
        PolyglossiaName  english
+       PolyglossiaOpts  "variant=american"
        QuoteStyle       english
        Encoding         iso8859-15
        LangCode         en_US
@@ -404,6 +476,7 @@ Language farsi
        BabelName        farsi
        PolyglossiaName  farsi
        Encoding         utf8
+       FontEncoding     "LFE,LAE"
        RTL              true
        LangCode         fa_IR
        PostBabelPreamble
@@ -414,6 +487,7 @@ End
 
 Language finnish
        GuiName          "Finnish"
+       HasGuiSupport    true
        BabelName        finnish
        PolyglossiaName  finnish
        QuoteStyle       swedish
@@ -424,6 +498,7 @@ End
 # We redefine \og and \fg (guillemets) for older french language definitions
 Language french
        GuiName          "French"
+       HasGuiSupport    true
        BabelName        french
        PolyglossiaName  french
        QuoteStyle       french
@@ -437,8 +512,19 @@ Language french
        EndPostBabelPreamble
 End
 
+Language friulan
+       GuiName          "Friulian"
+       HasGuiSupport    true
+       BabelName        friulan
+       PolyglossiaName  friulan
+       QuoteStyle       french
+       Encoding         iso8859-15
+       LangCode         fur_IT
+End
+
 Language galician
        GuiName          "Galician"
+       HasGuiSupport    true
        BabelName        galician
        PolyglossiaName  galician
        QuoteStyle       french
@@ -449,12 +535,21 @@ Language galician
        EndPostBabelPreamble
 End
 
+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)
 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
        LangCode         de
@@ -463,33 +558,52 @@ End
 
 Language ngerman
        GuiName          "German"
+       HasGuiSupport    true
        BabelName        ngerman
        PolyglossiaName  german
-       PolyglossiaOpts  "babelshorthands=true"
+       PolyglossiaOpts  "variant=german,spelling=new,babelshorthands=true"
        QuoteStyle       german
        Encoding         iso8859-15
        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)"
-       BabelName        ngerman
+       BabelName        nswissgerman
        PolyglossiaName  german
-       PolyglossiaOpts  "babelshorthands=true"
+       PolyglossiaOpts  "variant=swiss,spelling=new,babelshorthands=true"
        QuoteStyle       danish
        Encoding         iso8859-15
        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       danish
+       Encoding         iso8859-15
+       LangCode         de_CH
+End
+
 Language greek
        GuiName           "Greek"
+       HasGuiSupport     true
        BabelName         greek
        PolyglossiaName   greek
+       PolyglossiaOpts   "variant=monotonic"
        QuoteStyle        french
        Encoding          iso8859-7
        InternalEncoding  true
+       FontEncoding      LGR
        LangCode          el_GR
 End
 
@@ -501,16 +615,21 @@ Language polutonikogreek
        QuoteStyle        french
        Encoding          iso8859-7
        InternalEncoding  true
+       FontEncoding      LGR
        LangCode          el_GR
 End
 
 Language hebrew
        GuiName           "Hebrew"
+       HasGuiSupport     true
        BabelName         hebrew
        PolyglossiaName   hebrew
        Encoding          cp1255
        QuoteStyle        english
        InternalEncoding  true
+# Hebrew babel loads the font encodings
+# itself in the appropriate order
+#      FontEncoding      LHE
        RTL               true
        LangCode          he_IL
 End
@@ -547,6 +666,7 @@ End
 # language. We therefore the name of its hunspell dictionary.
 Language interlingua
        GuiName          "Interlingua"
+       HasGuiSupport    true
        BabelName        interlingua
        PolyglossiaName  interlingua
        Encoding         iso8859-15
@@ -564,6 +684,7 @@ End
 
 Language italian
        GuiName          "Italian"
+       HasGuiSupport    true
        BabelName        italian
        PolyglossiaName  italian
        QuoteStyle       french
@@ -578,12 +699,14 @@ End
 # InternalEncoding to true.
 Language japanese
        GuiName          "Japanese"
+       HasGuiSupport    true
        BabelName        japanese
        Encoding         jis-platex
        LangCode         ja_JP
        AsBabelOptions   true
        Requires         japanese
        InternalEncoding true
+       FontEncoding     None
 End
 
 # uses CJK package
@@ -594,6 +717,14 @@ Language japanese-cjk
        Requires        CJK
 End
 
+# not supported by babel
+Language kannada
+       GuiName          "Kannada"
+       PolyglossiaName  kannada
+       Encoding         utf8
+       LangCode         kn_IN
+End
+
 # not yet supported by polyglossia
 # not supported by babel
 Language kazakh
@@ -606,6 +737,14 @@ Language kazakh
        EndPostBabelPreamble
 End
 
+# not supported by babel
+Language khmer
+       GuiName          "Khmer"
+       PolyglossiaName  khmer
+       Encoding         utf8
+       LangCode         km_KH
+End
+
 Language korean
        GuiName         "Korean"
        Encoding        euc-kr
@@ -649,6 +788,7 @@ Language latvian
        PolyglossiaName  latvian
        QuoteStyle       danish
        Encoding         iso8859-4
+#      FontEncoding     L7x # (required for hyphenation but not set by babel)
        LangCode         lv_LV
        AsBabelOptions   true
 End
@@ -661,6 +801,7 @@ Language lithuanian
        PolyglossiaName  lithuanian
        QuoteStyle       german
        Encoding         iso8859-13
+       FontEncoding     L7x
        LangCode         lt_LT
        AsBabelOptions   true
 End
@@ -676,6 +817,7 @@ End
 
 Language magyar
        GuiName          "Hungarian"
+       HasGuiSupport    true
        BabelName        magyar
        PolyglossiaName  magyar
        QuoteStyle       polish
@@ -683,6 +825,16 @@ Language magyar
        LangCode         hu_HU
 End
 
+# not yet supported by polyglossia
+Language macedonian
+       GuiName          "Macedonian"
+       BabelName        macedonian
+       QuoteStyle       german
+       Encoding         cp1251
+       FontEncoding     T2A
+       LangCode         mk_MK
+End
+
 # not supported by babel
 Language marathi
        GuiName          "Marathi"
@@ -698,6 +850,7 @@ Language mongolian
        GuiName          "Mongolian"
        BabelName        mongolian
        Encoding         utf8
+       FontEncoding     T2A
        LangCode         mn_MN
        AsBabelOptions   true
 End
@@ -714,6 +867,7 @@ End
 
 Language norsk
        GuiName          "Norwegian (Bokmaal)"
+       HasGuiSupport    true
        BabelName        norsk
        PolyglossiaName  norsk
        QuoteStyle       french
@@ -723,6 +877,7 @@ End
 
 Language nynorsk
        GuiName          "Norwegian (Nynorsk)"
+       HasGuiSupport    true
        BabelName        nynorsk
        PolyglossiaName  nynorsk
        QuoteStyle       french
@@ -742,24 +897,39 @@ 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
 # End
 
+Language piedmontese
+       GuiName          "Piedmontese"
+       HasGuiSupport    true
+       BabelName        piedmontese
+       PolyglossiaName  piedmontese
+       QuoteStyle       french
+       Encoding         iso8859-15
+       LangCode         pms_IT
+End
+
 Language polish
        GuiName          "Polish"
+       HasGuiSupport    true
        BabelName        polish
        PolyglossiaName  polish
        QuoteStyle       polish
        Encoding         iso8859-2
+#      FontEncoding     QX # (required for hyphenation but not set by babel)
        LangCode         pl_PL
 End
 
 Language portuguese
        GuiName          "Portuguese"
+       HasGuiSupport    true
        BabelName        portuges
        PolyglossiaName  portuges
        QuoteStyle       english
@@ -769,19 +939,32 @@ End
 
 Language romanian
        GuiName          "Romanian"
+       HasGuiSupport    true
        BabelName        romanian
        PolyglossiaName  romanian
        QuoteStyle       polish
-       Encoding         iso8859-2
+       Encoding         iso8859-16
        LangCode         ro_RO
 End
 
+Language romansh
+       GuiName          "Romansh"
+       HasGuiSupport    true
+       BabelName        romansh
+       PolyglossiaName  romansh
+       QuoteStyle       german
+       Encoding         iso8859-15
+       LangCode         rm_CH
+End
+
 Language russian
        GuiName          "Russian"
+       HasGuiSupport    true
        BabelName        russian
        PolyglossiaName  russian
        QuoteStyle       french
        Encoding         koi8-r
+       FontEncoding     T2A
        LangCode         ru_RU
 End
 
@@ -812,10 +995,13 @@ End
 
 Language serbian
        GuiName          "Serbian"
+       HasGuiSupport    true
        BabelName        serbianc
        PolyglossiaName  serbian
+       PolyglossiaOpts  "script=cyrillic"
        QuoteStyle       german
-       Encoding         iso8859-5
+       Encoding         utf8
+       FontEncoding     T2A
        LangCode         sr_RS
        AsBabelOptions   true
 End
@@ -832,6 +1018,7 @@ End
 
 Language slovak
        GuiName          "Slovak"
+       HasGuiSupport    true
        BabelName        slovak
        PolyglossiaName  slovak
        QuoteStyle       german
@@ -850,6 +1037,7 @@ End
 
 Language spanish
        GuiName          "Spanish"
+       HasGuiSupport    true
        BabelName        spanish
        PolyglossiaName  spanish
        QuoteStyle       french
@@ -875,6 +1063,7 @@ End
 
 Language swedish
        GuiName          "Swedish"
+       HasGuiSupport    true
        BabelName        swedish
        PolyglossiaName  swedish
        QuoteStyle       swedish
@@ -887,6 +1076,7 @@ Language syriac
        GuiName          "Syriac"
        PolyglossiaName  syriac
        Encoding         utf8
+       RTL              true
        LangCode         syr_SY
 End
 
@@ -912,14 +1102,24 @@ Language thai
        PolyglossiaName  thai
        QuoteStyle       english
        Encoding         tis620-0
+#      FontEncoding     LTH
        LangCode         th_TH
        PostBabelPreamble
        \usepackage{thswitch}
        EndPostBabelPreamble
 End
 
+# not supported by babel
+Language tibetan
+       GuiName          "Tibetan"
+       PolyglossiaName  tibetan
+       Encoding         utf8
+       LangCode         bo_CN
+End
+
 Language turkish
        GuiName          "Turkish"
+       HasGuiSupport    true
        BabelName        turkish
        PolyglossiaName  turkish
        QuoteStyle       french
@@ -944,10 +1144,12 @@ End
 
 Language ukrainian
        GuiName          "Ukrainian"
+       HasGuiSupport    true
        BabelName        ukrainian
        PolyglossiaName  ukrainian
        QuoteStyle       french
        Encoding         koi8-u
+       FontEncoding     T2A
        LangCode         uk_UA
 End
 
@@ -965,6 +1167,7 @@ Language urdu
        GuiName          "Urdu"
        PolyglossiaName  urdu
        Encoding         utf8
+       RTL              true
        LangCode         ur_PK
 End