X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Flanguages;h=88b5fea477ec8c3fde5175b83f63082c18cecc40;hb=b8c5aabc0f034a08b2b6434fd558d1c73e325eb9;hp=4703ad0c23523ed29ee95a264c270087d4ec25eb;hpb=05ec893d07fa7849eff6a7a77edc5503763561a6;p=lyx.git diff --git a/lib/languages b/lib/languages index 4703ad0c23..88b5fea477 100644 --- a/lib/languages +++ b/lib/languages @@ -6,14 +6,18 @@ # # Language # GuiName "" +# HasGuiSupport # BabelName # PolyglossiaName # PolyglossiaOpts "" +# QuoteStyle +# DateFormats "||" # Encoding -# QuoteStyle +# FontEncoding # InternalEncoding # RTL -# AsBabelOptions +# WordWrap # LangCode # LangVariety # PreBabelPreamble @@ -23,35 +27,85 @@ # # EndPostBabelPreamble # Requires +# Provides # 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 +# 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) -# - french: <> (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'' (outward guillemets -- 66_99) +# - frenchin: <> <> (French Imprimerie Nationale style) +# - german: ,,text`` ,text` (99/66 -- 9/6) +# - polish: ,,text'' ,text' (99/99 -- 9/9) +# - russian: <> ,,text`` (outward guillemets -- 99/66) +# - swedish: ''text'' 'text' (99_99 -- 9_9) +# - swedishg: >>text>> 'text' (Swedish Guillemets) +# - swiss: <> (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. -# * 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. -# * 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). +# * 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) 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. +# * WordWrap is only used for on-screen display: when is is true (the default), rows are broken +# at word boundary; otherwise, they can be ended at arbitrary position. This +# setting is useful for CJK languages. # * LangCode is also used for spellchecking and thesaurus, where the -# dictionaries are named accordingly. Thus, check this when 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 @@ -62,6 +116,9 @@ # 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). # ########################################################################## @@ -73,13 +130,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 @@ -93,15 +150,28 @@ 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 + # babel-albanian (albanian.ldf) (re-)defines the functions + # \sh \ch \th \cth \arsh \arch \arth \arcth \tg \ctg \arctg + # as math operators. This clashes with \th == letter thorn + # in font encoding T1 + PostBabelPreamble + % fix albanian: restore \th as LATIN LETTER THORN + \@ifl@aded{def}{t1enc}{\DeclareTextSymbol{\th}{T1}{254}}{} + EndPostBabelPreamble PolyglossiaName albanian - QuoteStyle french + QuoteStyle swiss Encoding iso8859-2 + FontEncoding T1|OT1 + DateFormats "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy" LangCode sq_AL End @@ -112,26 +182,48 @@ 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 # 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 + 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)" + HasGuiSupport true BabelName arabtex QuoteStyle french Encoding cp1256 + DateFormats "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy" RTL true LangCode ar_SA End @@ -143,8 +235,29 @@ Language arabic_arabi PolyglossiaName arabic QuoteStyle french Encoding cp1256 + FontEncoding LAE + DateFormats "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy" RTL true - AsBabelOptions true + PostBabelPreamble + % arabic + hyperref redefines \noboundary as local textcommand + \let\orig@noboundary\noboundary + \DeclareTextCommandDefault{\noboundary}{\orig@noboundary} + % work around too simple test for article-like classes in arabicore.sty + \ifdefined\chapter\else + \def\thesection{\protect\if@rl\protect\I{\number\c@section}% + \protect\else\protect\textLR{\number\c@section}% + \protect\fi} + \def\thesubsection{\protect\if@rl\protect\I{\number\c@subsection.\number\c@section}% + \protect\else\protect\textLR{\number\c@section.\number\c@subsection}% + \protect\fi}% + \def\thetable{\protect\if@rl\protect\I{\number\c@table}% + \protect\else\protect\textLR{\number\c@table}% + \protect\fi}% + \def\thefigure{\protect\if@rl\protect\I{\number\c@figure}% + \protect\else\protect\textLR{\number\c@figure}% + \protect\fi}% + \fi + EndPostBabelPreamble LangCode ar_SA End @@ -152,45 +265,88 @@ 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 +# 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 + FontEncoding ASCII + DateFormats "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy" QuoteStyle english LangCode en_AU End -# not yet supported by polyglossia +# In polyglossia, this is supported since release 1.33.4 (May 2014) +# Due to the variety, we use no country code. Language austrian GuiName "German (Austria, old spelling)" BabelName austrian + PolyglossiaName german + PolyglossiaOpts "variant=austrian,spelling=old,babelshorthands=true" 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 -# not yet supported by polyglossia +# In polyglossia, this is supported since release 1.33.4 (May 2014) Language naustrian GuiName "German (Austria)" BabelName naustrian + PolyglossiaName german + 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 +Language azerbaijani + GuiName "Azerbaijani" + BabelName azerbaijani + QuoteStyle russian + Encoding iso8859-9 + FontEncoding T2A,T1 + DateFormats "d MMMM yyyy|dd.MMM.yyyy|dd.MM.yyyy" + LangCode az_AZ + Requires textschwa + # use \cyrschwa in T1, allow hyphenation in remainder of word + PostBabelPreamble + \DeclareTextCommand{\textschwa}{T1}{\cyrschwa\bbl@allowhyphens} + \DeclareTextCommand{\textSchwa}{T1}{\CYRSCHWA\bbl@allowhyphens} + EndPostBabelPreamble +End + Language bahasa GuiName "Indonesian" + HasGuiSupport true BabelName bahasa PolyglossiaName bahasai QuoteStyle english Encoding iso8859-15 + FontEncoding ASCII + DateFormats "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy" LangCode id_ID End @@ -200,15 +356,19 @@ Language bahasam PolyglossiaName bahasam QuoteStyle english Encoding iso8859-15 + DateFormats "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy" LangCode ms_MY End Language basque GuiName "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{~}} @@ -216,29 +376,60 @@ 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 End +# supported by polyglossia but not LyX: +Language bengali + PolyglossiaName bengali + QuoteStyle english + Encoding utf8 + LangCode be_IN +End + + +# not yet supported by polyglossia +# The (rarely used) Cyrillic script is not supported (try serbian). +Language bosnian + GuiName "Bosnian" + BabelName bosnian + 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)" + HasGuiSupport true BabelName brazil 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 @@ -247,18 +438,24 @@ 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 Language bulgarian GuiName "Bulgarian" + HasGuiSupport true BabelName bulgarian PolyglossiaName 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 @@ -269,10 +466,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 @@ -280,38 +481,62 @@ 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 Language catalan GuiName "Catalan" + HasGuiSupport true BabelName catalan PolyglossiaName 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 # uses CJK package Language chinese-simplified GuiName "Chinese (simplified)" + HasGuiSupport true Encoding euc-cn QuoteStyle english + WordWrap false LangCode zh_CN + DateFormats "yyyy年M月d日|yyyy-M-d|yy-M-d" Requires CJK End # uses CJK package Language chinese-traditional GuiName "Chinese (traditional)" - QuoteStyle english - Encoding utf8-cjk - LangCode zh_CN + HasGuiSupport true + QuoteStyle cjk + Encoding utf8-cjk + WordWrap false + LangCode zh_TW + DateFormats "yyyy年M月d日|yyyy年M月d日|yy年M月d日" Requires CJK End +# supported by polyglossia but not LyX: +Language churchslavonic + GuiName "Church Slavonic" + PolyglossiaName churchslavonic + QuoteStyle swiss + Encoding utf8 + FontEncoding T2A + DateFormats "d MMMM yyyy 'л'.|d MMM yyyy 'л'.|dd.MM.yyyy" + LangCode cu + Provides textcyrillic +End + # not supported by babel +# FIXME DateFormats Language coptic GuiName "Coptic" PolyglossiaName coptic @@ -325,24 +550,32 @@ 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 Language czech GuiName "Czech" + HasGuiSupport true BabelName 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 Language danish GuiName "Danish" + HasGuiSupport true BabelName 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 @@ -351,36 +584,46 @@ 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" + HasGuiSupport true BabelName dutch PolyglossiaName 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 Language english GuiName "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 @@ -388,8 +631,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{~}} @@ -403,8 +648,11 @@ Language farsi BabelName farsi PolyglossiaName farsi Encoding utf8 + 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} @@ -413,105 +661,174 @@ End Language finnish GuiName "Finnish" + HasGuiSupport true BabelName 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 -# We redefine \og and \fg (guillemets) for older french language definitions Language french GuiName "French" + HasGuiSupport true BabelName 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{% - \providecommand{\og}{\leavevmode\flqq~}% - \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}% - } - 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" + HasGuiSupport true BabelName 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 + 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 + FontEncoding T1|OT1 + DateFormats "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy" LangCode de LangVariety alt 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 + FontEncoding T1|OT1 + DateFormats "dd. MMMM yyyy|dd. MMM yyyy|dd.MM.yyyy" 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" - 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 +# 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" - BabelName greek - PolyglossiaName greek - QuoteStyle french - Encoding iso8859-7 - InternalEncoding true - LangCode el_GR + GuiName "Greek" + HasGuiSupport true + BabelName greek + PolyglossiaName greek + PolyglossiaOpts "variant=monotonic" + QuoteStyle french + Encoding iso8859-7 + InternalEncoding true + FontEncoding LGR + DateFormats "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy" + LangCode el_GR + Provides textgreek End Language polutonikogreek - GuiName "Greek (polytonic)" - BabelName polutonikogreek - PolyglossiaName greek - PolyglossiaOpts "variant=polytonic" - QuoteStyle french - Encoding iso8859-7 - InternalEncoding true - LangCode el_GR + GuiName "Greek (polytonic)" + BabelName polutonikogreek + PolyglossiaName greek + PolyglossiaOpts "variant=polytonic" + QuoteStyle french + Encoding iso8859-7 + InternalEncoding true + FontEncoding LGR + DateFormats "dd MMMM yyyy|dd MMM yyyy|dd/MM/yyyy" + LangCode el_GR + Provides textgreek End Language hebrew - GuiName "Hebrew" - BabelName hebrew - PolyglossiaName hebrew - Encoding cp1255 - QuoteStyle english - InternalEncoding true - RTL true - LangCode he_IL + GuiName "Hebrew" + HasGuiSupport true + BabelName hebrew + PolyglossiaName hebrew + Encoding cp1255 + QuoteStyle english + InternalEncoding true + # babel-hebrew expects the encoding for *other* languages last: + FontEncoding HE8,T1|LHE,T1 + ## Use font encoding HE8 if the Culmus fonts are installed and + # work around too simple test for article-like classes in rlbabel.def. + PreBabelPreamble + \IfFileExists{he8david.fd}{% + \providecommand{\HeblatexEncoding}{HE8} + \providecommand{\HeblatexEncodingFile}{he8enc}% + }{} + \providecommand{\l@chapter}{\relax} + EndPreBabelPreamble + DateFormats "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy" + RTL true + LangCode he_IL End # not supported by babel @@ -519,6 +836,7 @@ Language hindi GuiName "Hindi" PolyglossiaName hindi Encoding utf8 + DateFormats "dd MMMM yyyy|dd MMM yyyy|dd-MM-yyyy" LangCode hi_IN End @@ -531,25 +849,33 @@ 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 # Interlingua has no official country code because it is an auxiliary -# language. We therefore the name of its hunspell dictionary. +# language. We use the name of its hunspell dictionary. Language interlingua GuiName "Interlingua" + HasGuiSupport true BabelName interlingua PolyglossiaName interlingua Encoding iso8859-15 + FontEncoding ASCII LangCode ia_IA + DateFormats "'le' d 'de' MMMM yyyy|'le' d 'de' MMM yyyy|yyyy-mm-dd" + QuoteStyle english End Language irish @@ -558,64 +884,105 @@ 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 Language italian GuiName "Italian" + HasGuiSupport true BabelName italian PolyglossiaName italian QuoteStyle french 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 -# Since japanese does not load fontenc, we set -# InternalEncoding to true. +# Since 2016-12-18, babel-japanese works with non-TeX fonts (Xe/LuaTeX), too +# (use with "Japanese (bxjs)" or standard document classes) Language japanese GuiName "Japanese" + HasGuiSupport true BabelName japanese Encoding jis-platex + WordWrap false LangCode ja_JP - AsBabelOptions true Requires japanese - InternalEncoding true + FontEncoding ASCII + 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" + WordWrap false 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 # not yet supported by polyglossia +# not supported by babel Language kazakh - GuiName "Kazakh" - BabelName kazakh - Encoding pt154 - LangCode kk_KZ + GuiName "Kazakh" + Encoding ascii + # FontEncoding T2A # not set (no Babel support) + DateFormats "dd MMMM yyyy|dd MMMM yyyy|yyyy-dd-MM" + LangCode kk_KZ +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 Language korean GuiName "Korean" + PolyglossiaName korean Encoding euc-kr - QuoteStyle english + QuoteStyle cjkangle + DateFormats "yyyy년 M월 d일|yyyy. M. d.|yy. M. d." + WordWrap false LangCode ko_KR Requires CJK End +# Language korean-kotex +# GuiName "Korean (koTeX)" +# Encoding utf8 +# QuoteStyle cjkangle +# DateFormats "yyyy년 M월 d일|yyyy. M. d.|yy. M. d." +# LangCode ko_KR +# Requires kotex +# End + # not yet supported by polyglossia Language kurmanji GuiName "Kurmanji" BabelName kurmanji Encoding utf8 + FontEncoding T1|OT1 + DateFormats "d. MMMM yyyy|d. M. yyyy|yyyy-MM-dd" LangCode kmr - AsBabelOptions true End # not supported by babel @@ -623,41 +990,56 @@ 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|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-13 + FontEncoding L7x + # L7x defines \copyright as TextSymbol which leads to an endless loop + # when it is used in other font encodings. + PostBabelPreamble + % restore \coyright definition corrupted by l7xenc.def + \DeclareRobustCommand{\copyright}{% + \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + \addto\noextraslithuanian{\latintext} + EndPostBabelPreamble + DateFormats "yyyy 'm.' MMMM d 'd.'|yyyy 'm.' MMMM d 'd.'|yyyy-MM-dd" LangCode lt_LT - AsBabelOptions true End Language lowersorbian @@ -666,23 +1048,51 @@ 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 Language magyar GuiName "Hungarian" + HasGuiSupport true BabelName 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 +# 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 @@ -693,8 +1103,10 @@ Language mongolian GuiName "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 @@ -704,24 +1116,48 @@ 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 Language norsk GuiName "Norwegian (Bokmaal)" + 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 +# supported by polyglossia but not LyX: +# Language nko +# GuiName "N’Ko" +# PolyglossiaName nko +# QuoteStyle swiss +# Encoding utf8 +# FIXME: DateFormats "d MMMM، yyyy|dd/MM/yyyy|d/M/yyyy" +# gloss-nko.ldf says: +# In n'ko, this is an example of date : +# ߂߀߁߃ ߞߏ߲ߞߏߜߍ ߕߟߋ߬ ߁߈ (RTL) +# ( 18 February 2013 ) +# The word "ߕߟߋ߬" is mandatory between month name and day number. +# RTL true +# LangCode nqo +# End + Language nynorsk GuiName "Norwegian (Nynorsk)" + HasGuiSupport true 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 @@ -731,60 +1167,104 @@ 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 -# Language oldrussian -# GuiName "Russian (Petrine orthography)" -# PolyglossiaName russian -# PolyglossiaOpts spelling=old -# LangCode ru_petr1708 -# End +Language oldrussian + GuiName "Russian (Petrine orthography)" + PolyglossiaName russian + PolyglossiaOpts "spelling=old" + QuoteStyle russian + LangCode ru_petr1708 +End +# FIXME DateFormats +Language piedmontese + GuiName "Piedmontese" + HasGuiSupport true + 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" + HasGuiSupport true BabelName polish PolyglossiaName polish QuoteStyle polish 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" + 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 Language romanian GuiName "Romanian" + HasGuiSupport true BabelName romanian PolyglossiaName romanian QuoteStyle polish - Encoding iso8859-2 + Encoding iso8859-16 + FontEncoding T1|OT1 + DateFormats "d MMMM yyyy|d MMM yyyy|dd.MM.yyyy" 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" + HasGuiSupport true BabelName russian PolyglossiaName russian - QuoteStyle french + PolyglossiaOpts "spelling=modern" + 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 @@ -793,43 +1273,66 @@ 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 +# Serbian with Cyrillic script. +# Up to Version 3.0 (2019-01-12), input encoding and +# font encoding were set document-wide to "utf8x" and "T2A" respectively +# by "babel-serbianc", overriding LyX settings and leading to errors +# in mulit-lingual documents. Language serbian GuiName "Serbian" - BabelName serbian + HasGuiSupport true + BabelName serbianc PolyglossiaName serbian - QuoteStyle german - Encoding iso8859-5 + PolyglossiaOpts "script=Cyrillic" + # Note: script option is uppercase, even if the polyglossia + # manual states otherwise. + QuoteStyle polish + Encoding utf8 + FontEncoding T2A + DateFormats "d. MMMM yyyy|d. MMM yyyy|dd.MM.yyyy" 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 - PolyglossiaOpts "script=latin" - QuoteStyle german + PolyglossiaOpts "script=Latin" + QuoteStyle polish 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" + HasGuiSupport true BabelName 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 @@ -839,15 +1342,20 @@ 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 Language spanish GuiName "Spanish" + HasGuiSupport true BabelName 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{~<>}} @@ -861,6 +1369,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{~<>.}} @@ -869,10 +1379,13 @@ End Language swedish GuiName "Swedish" + HasGuiSupport true BabelName 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 @@ -881,6 +1394,8 @@ Language syriac GuiName "Syriac" PolyglossiaName syriac Encoding utf8 + RTL true + DateFormats "d MMMM yyyy|d MMM yyyy|dd/MM/yyyy" LangCode syr_SY End @@ -889,6 +1404,7 @@ Language tamil GuiName "Tamil" PolyglossiaName tamil Encoding utf8 + DateFormats "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy" LangCode ta_IN End @@ -897,28 +1413,61 @@ Language telugu GuiName "Telugu" PolyglossiaName telugu Encoding utf8 + DateFormats "dd MMMM yyyy|d MMM yyyy|dd-MM-yyyy" LangCode te_IN End +# There is an alternative support with CJK package and Babel name "thaicjk". + Language thai GuiName "Thai" BabelName thai PolyglossiaName thai QuoteStyle english Encoding tis620-0 + FontEncoding LTH + DateFormats "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy" LangCode th_TH + # The first workaround requires loading inputenc after babel + # (cf. BufferParams.cpp): PostBabelPreamble - \usepackage{thswitch} + % Restore catcodes changed by thai.ldf (active characters required for inputenc) + \@tempcnta=161% + \@whilenum\@tempcnta<252\do{% + \catcode\@tempcnta=13 + \advance\@tempcnta\@ne + }% + % Restore \coyright definition corrupted by lthenc.def + \DeclareRobustCommand{\copyright}{% + \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + \DeclareTextSymbol{\textcopyright}{LTH}{8} + % set up Thai fonts as substitue for the default families + \usepackage{substitutefont} + \substitutefont{LTH}{\rmdefault}{norasi} + \substitutefont{LTH}{\sfdefault}{garuda} + \substitutefont{LTH}{\ttdefault}{ttypist} EndPostBabelPreamble End +# not supported by babel +#FIXME DateFormats +Language tibetan + GuiName "Tibetan" + PolyglossiaName tibetan + Encoding utf8 + LangCode bo_CN +End + Language turkish GuiName "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 @@ -930,19 +1479,24 @@ 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 GuiName "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 @@ -951,6 +1505,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 @@ -959,28 +1515,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