Introduce PolyglossiaName and PolyglossiaOpts.

Not yet functional.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36312 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jürgen Spitzmüller 2010-11-16 11:07:43 +00:00
parent f7ff9abf99
commit 1aa5a0d1f1
3 changed files with 537 additions and 313 deletions

View File

@ -1,4 +1,4 @@
######################################################################## ##########################################################################
# #
# Languages supported by LyX. # Languages supported by LyX.
# #
@ -7,6 +7,8 @@
# Language <lyxname> # Language <lyxname>
# GuiName "<Gui Name>" # GuiName "<Gui Name>"
# BabelName <babelname> # BabelName <babelname>
# PolyglossiaName <polyglossianame>
# PolyglossiaOpts "<language-specific options>"
# Encoding <encoding> # Encoding <encoding>
# InternalEncoding <true|false> # InternalEncoding <true|false>
# RTL <true|false> # RTL <true|false>
@ -21,10 +23,35 @@
# EndPostBabelPreamble # EndPostBabelPreamble
# End # End
# #
# Omitted elements will be treated as empty
# (omitted AsBabelOptions, RTL and InternalEncoding as "false")
# #
######################################################################## # NOTE:
#
# * Omitted elements will be treated as empty (if string) or "false"
# (if boolean).
# * Encoding is not relevant for XeTeX (which is utf8 always), and if
# Document > Settings > Language > Encoding is not set to "Language
# Default"
# * InternalEncoding is used to tell LyX that babel internally sets a font
# encoding (such as hebrew to LHE). See bug #5091.
# * 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/
# 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
# http://www.w3.org/International/articles/language-tags/
# http://www.iana.org/assignments/language-subtag-registry
# * LangVariety is used by the aspell spellchecker to differentiate
# dictionaries for different varieties of a given language (e.g. German
# 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)
#
##########################################################################
# #
# LyX-internal languages # LyX-internal languages
@ -33,6 +60,7 @@
Language ignore Language ignore
GuiName "Ignore" GuiName "Ignore"
BabelName ignore BabelName ignore
PolyglossiaName ignore
Encoding iso8859-1 Encoding iso8859-1
LangCode ignore LangCode ignore
End End
@ -57,6 +85,7 @@ End
Language albanian Language albanian
GuiName "Albanian" GuiName "Albanian"
BabelName albanian BabelName albanian
PolyglossiaName albanian
Encoding iso8859-2 Encoding iso8859-2
LangCode sq_AL LangCode sq_AL
End End
@ -64,10 +93,20 @@ End
Language american Language american
GuiName "English (USA)" GuiName "English (USA)"
BabelName american BabelName american
PolyglossiaName english
PolyglossiaOpts "variant=american"
Encoding iso8859-15 Encoding iso8859-15
LangCode en_US LangCode en_US
End End
# Currently not supported (file format change!)
# Language ancientgreek
# GuiName "Greek (ancient)"
# PolyglossiaName greek
# PolyglossiaOpts variant=ancient
# LangCode grc
# End
# FIXME: dummy babel language for arabic_arabtex to be able # FIXME: dummy babel language for arabic_arabtex to be able
# to switch the language the way of the ArabTeX-package # to switch the language the way of the ArabTeX-package
Language arabic_arabtex Language arabic_arabtex
@ -78,9 +117,11 @@ Language arabic_arabtex
LangCode ar_SA LangCode ar_SA
End End
# polyglossia uses "Arabic" for the lang environment
Language arabic_arabi Language arabic_arabi
GuiName "Arabic (Arabi)" GuiName "Arabic (Arabi)"
BabelName arabic BabelName arabic
PolyglossiaName arabic
Encoding cp1256 Encoding cp1256
RTL true RTL true
LangCode ar_SA LangCode ar_SA
@ -88,6 +129,7 @@ End
Language armenian Language armenian
GuiName "Armenian" GuiName "Armenian"
PolyglossiaName armenian
Encoding armscii8 Encoding armscii8
LangCode hy_AM LangCode hy_AM
End End
@ -109,6 +151,7 @@ End
Language bahasa Language bahasa
GuiName "Indonesian" GuiName "Indonesian"
BabelName bahasa BabelName bahasa
PolyglossiaName bahasai
Encoding iso8859-15 Encoding iso8859-15
LangCode id_ID LangCode id_ID
End End
@ -116,6 +159,7 @@ End
Language bahasam Language bahasam
GuiName "Malay" GuiName "Malay"
BabelName bahasam BabelName bahasam
PolyglossiaName bahasam
Encoding iso8859-15 Encoding iso8859-15
LangCode ms_MY LangCode ms_MY
End End
@ -123,6 +167,7 @@ End
Language basque Language basque
GuiName "Basque" GuiName "Basque"
BabelName basque BabelName basque
PolyglossiaName basque
Encoding iso8859-15 Encoding iso8859-15
LangCode eu_ES LangCode eu_ES
End End
@ -137,6 +182,7 @@ End
Language brazilian Language brazilian
GuiName "Portuguese (Brazil)" GuiName "Portuguese (Brazil)"
BabelName brazil BabelName brazil
PolyglossiaName brazil
Encoding iso8859-15 Encoding iso8859-15
LangCode pt_BR LangCode pt_BR
End End
@ -144,6 +190,7 @@ End
Language breton Language breton
GuiName "Breton" GuiName "Breton"
BabelName breton BabelName breton
PolyglossiaName breton
Encoding iso8859-15 Encoding iso8859-15
LangCode br_FR LangCode br_FR
End End
@ -151,6 +198,8 @@ End
Language british Language british
GuiName "English (UK)" GuiName "English (UK)"
BabelName british BabelName british
PolyglossiaName english
PolyglossiaOpts "variant=british"
Encoding iso8859-15 Encoding iso8859-15
LangCode en_GB LangCode en_GB
End End
@ -158,20 +207,27 @@ End
Language bulgarian Language bulgarian
GuiName "Bulgarian" GuiName "Bulgarian"
BabelName bulgarian BabelName bulgarian
PolyglossiaName bulgarian
Encoding cp1251 Encoding cp1251
LangCode bg_BG LangCode bg_BG
End End
# not yet supported by polyglossia
Language canadian Language canadian
GuiName "English (Canada)" GuiName "English (Canada)"
BabelName canadian BabelName canadian
# PolyglossiaName english
# PolyglossiaOpts "variant=canadian"
Encoding iso8859-15 Encoding iso8859-15
LangCode en_CA LangCode en_CA
End End
# not yet supported by polyglossia
Language canadien Language canadien
GuiName "French (Canada)" GuiName "French (Canada)"
BabelName canadien BabelName canadien
# PolyglossiaName french
# PolyglossiaOpts "variant=canadien"
Encoding iso8859-15 Encoding iso8859-15
LangCode fr_CA LangCode fr_CA
End End
@ -179,25 +235,37 @@ End
Language catalan Language catalan
GuiName "Catalan" GuiName "Catalan"
BabelName catalan BabelName catalan
PolyglossiaName catalan
PolyglossiaOpts "babelshorthands=true"
Encoding iso8859-15 Encoding iso8859-15
LangCode ca_ES LangCode ca_ES
End End
# uses CJK package
Language chinese-simplified Language chinese-simplified
GuiName "Chinese (simplified)" GuiName "Chinese (simplified)"
Encoding euc-cn Encoding euc-cn
LangCode zh_CN LangCode zh_CN
End End
# uses CJK package
Language chinese-traditional Language chinese-traditional
GuiName "Chinese (traditional)" GuiName "Chinese (traditional)"
Encoding utf8-cjk Encoding utf8-cjk
LangCode zh_CN LangCode zh_CN
End End
# Currently not supported (file format change!)
# Language coptic
# GuiName "Coptic"
# PolyglossiaName coptic
# LangCode cop
# End
Language croatian Language croatian
GuiName "Croatian" GuiName "Croatian"
BabelName croatian BabelName croatian
PolyglossiaName croatian
Encoding iso8859-2 Encoding iso8859-2
LangCode hr_HR LangCode hr_HR
End End
@ -205,6 +273,7 @@ End
Language czech Language czech
GuiName "Czech" GuiName "Czech"
BabelName czech BabelName czech
PolyglossiaName czech
Encoding iso8859-2 Encoding iso8859-2
LangCode cs_CZ LangCode cs_CZ
End End
@ -212,13 +281,23 @@ End
Language danish Language danish
GuiName "Danish" GuiName "Danish"
BabelName danish BabelName danish
PolyglossiaName danish
Encoding iso8859-15 Encoding iso8859-15
LangCode da_DK LangCode da_DK
End End
# Currently not supported (file format change!)
# Language divehi
# GuiName "Divehi (Maldivian)"
# PolyglossiaName divehi
# LangCode dv
# End
Language dutch Language dutch
GuiName "Dutch" GuiName "Dutch"
BabelName dutch BabelName dutch
PolyglossiaName dutch
PolyglossiaOpts "babelshorthands=true"
Encoding iso8859-15 Encoding iso8859-15
LangCode nl_NL LangCode nl_NL
End End
@ -226,6 +305,7 @@ End
Language english Language english
GuiName "English" GuiName "English"
BabelName english BabelName english
PolyglossiaName english
Encoding iso8859-15 Encoding iso8859-15
LangCode en_US LangCode en_US
End End
@ -234,6 +314,7 @@ End
Language esperanto Language esperanto
GuiName "Esperanto" GuiName "Esperanto"
BabelName esperanto BabelName esperanto
PolyglossiaName esperanto
Encoding iso8859-3 Encoding iso8859-3
LangCode eo LangCode eo
End End
@ -241,6 +322,7 @@ End
Language estonian Language estonian
GuiName "Estonian" GuiName "Estonian"
BabelName estonian BabelName estonian
PolyglossiaName estonian
Encoding iso8859-15 Encoding iso8859-15
LangCode et_EE LangCode et_EE
End End
@ -250,6 +332,7 @@ End
Language farsi Language farsi
GuiName "Farsi" GuiName "Farsi"
BabelName farsi BabelName farsi
PolyglossiaName farsi
Encoding utf8 Encoding utf8
RTL true RTL true
LangCode fa_IR LangCode fa_IR
@ -262,6 +345,7 @@ End
Language finnish Language finnish
GuiName "Finnish" GuiName "Finnish"
BabelName finnish BabelName finnish
PolyglossiaName finnish
Encoding iso8859-15 Encoding iso8859-15
LangCode fi_FI LangCode fi_FI
End End
@ -270,6 +354,7 @@ End
Language french Language french
GuiName "French" GuiName "French"
BabelName french BabelName french
PolyglossiaName french
Encoding iso8859-15 Encoding iso8859-15
LangCode fr_FR LangCode fr_FR
PostBabelPreamble PostBabelPreamble
@ -283,6 +368,7 @@ End
Language galician Language galician
GuiName "Galician" GuiName "Galician"
BabelName galician BabelName galician
PolyglossiaName galician
Encoding iso8859-15 Encoding iso8859-15
LangCode gl_ES LangCode gl_ES
End End
@ -291,6 +377,8 @@ End
Language german Language german
GuiName "German (old spelling)" GuiName "German (old spelling)"
BabelName german BabelName german
PolyglossiaName german
PolyglossiaOpts "spelling=old,babelshorthands=true"
Encoding iso8859-15 Encoding iso8859-15
LangCode de LangCode de
LangVariety alt LangVariety alt
@ -299,13 +387,19 @@ End
Language ngerman Language ngerman
GuiName "German" GuiName "German"
BabelName ngerman BabelName ngerman
PolyglossiaName german
PolyglossiaOpts "babelshorthands=true"
Encoding iso8859-15 Encoding iso8859-15
LangCode de_DE LangCode de_DE
End End
# Swiss German is not supported by babel and polyglossia yet
# We use ngerman for now (spellchecking is supported though!)
Language german-ch Language german-ch
GuiName "German (Switzerland)" GuiName "German (Switzerland)"
BabelName ngerman BabelName ngerman
PolyglossiaName german
PolyglossiaOpts "babelshorthands=true"
Encoding iso8859-15 Encoding iso8859-15
LangCode de_CH LangCode de_CH
End End
@ -313,6 +407,7 @@ End
Language greek Language greek
GuiName "Greek" GuiName "Greek"
BabelName greek BabelName greek
PolyglossiaName greek
Encoding iso8859-7 Encoding iso8859-7
InternalEncoding true InternalEncoding true
LangCode el_GR LangCode el_GR
@ -321,6 +416,8 @@ End
Language polutonikogreek Language polutonikogreek
GuiName "Greek (polytonic)" GuiName "Greek (polytonic)"
BabelName polutonikogreek BabelName polutonikogreek
PolyglossiaName greek
PolyglossiaOpts "variant=polytonic"
Encoding iso8859-7 Encoding iso8859-7
InternalEncoding true InternalEncoding true
LangCode el_GR LangCode el_GR
@ -329,12 +426,21 @@ End
Language hebrew Language hebrew
GuiName "Hebrew" GuiName "Hebrew"
BabelName hebrew BabelName hebrew
PolyglossiaName hebrew
Encoding cp1255 Encoding cp1255
InternalEncoding true InternalEncoding true
RTL true RTL true
LangCode he_IL LangCode he_IL
End End
# Currently not supported (file format change!)
# Language hindi
# GuiName "Hindi"
# PolyglossiaName hindi
# LangCode hi
# End
# Currently not supported (file format change!)
# "hungarian" is a synonym for the "magyar" babel language option # "hungarian" is a synonym for the "magyar" babel language option
# "hungarian" might be used for special purposes, # "hungarian" might be used for special purposes,
# see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
@ -342,12 +448,13 @@ End
# GuiName "Hungarian" # GuiName "Hungarian"
# BabelName hungarian # BabelName hungarian
# Encoding iso8859-2 # Encoding iso8859-2
## LangCode hu_HU # LangCode hu_HU
#End #End
Language icelandic Language icelandic
GuiName "Icelandic" GuiName "Icelandic"
BabelName icelandic BabelName icelandic
PolyglossiaName icelandic
Encoding iso8859-15 Encoding iso8859-15
LangCode is_IS LangCode is_IS
End End
@ -356,6 +463,7 @@ End
Language interlingua Language interlingua
GuiName "Interlingua" GuiName "Interlingua"
BabelName interlingua BabelName interlingua
PolyglossiaName interlingua
Encoding iso8859-15 Encoding iso8859-15
LangCode ia LangCode ia
End End
@ -363,6 +471,7 @@ End
Language irish Language irish
GuiName "Irish" GuiName "Irish"
BabelName irish BabelName irish
PolyglossiaName irish
Encoding iso8859-15 Encoding iso8859-15
LangCode ga_IE LangCode ga_IE
End End
@ -370,6 +479,7 @@ End
Language italian Language italian
GuiName "Italian" GuiName "Italian"
BabelName italian BabelName italian
PolyglossiaName italian
Encoding iso8859-15 Encoding iso8859-15
LangCode it_IT LangCode it_IT
End End
@ -385,6 +495,7 @@ Language japanese
AsBabelOptions true AsBabelOptions true
End End
# uses CJK package
Language japanese-cjk Language japanese-cjk
GuiName "Japanese (CJK)" GuiName "Japanese (CJK)"
Encoding euc-jp Encoding euc-jp
@ -405,10 +516,18 @@ Language korean
LangCode ko LangCode ko
End End
# Currently not supported (file format change!)
# Language lao
# GuiName "Lao"
# PolyglossiaName lao
# LangCode lo
# End
# there is no country code for Latin because it is a dead language # there is no country code for Latin because it is a dead language
Language latin Language latin
GuiName "Latin" GuiName "Latin"
BabelName latin BabelName latin
PolyglossiaName latin
Encoding iso8859-15 Encoding iso8859-15
LangCode la LangCode la
End End
@ -418,6 +537,7 @@ End
Language latvian Language latvian
GuiName "Latvian" GuiName "Latvian"
BabelName latvian BabelName latvian
PolyglossiaName latvian
Encoding iso8859-4 Encoding iso8859-4
LangCode lv_LV LangCode lv_LV
AsBabelOptions true AsBabelOptions true
@ -428,6 +548,7 @@ End
Language lithuanian Language lithuanian
GuiName "Lithuanian" GuiName "Lithuanian"
BabelName lithuanian BabelName lithuanian
PolyglossiaName lithuanian
Encoding iso8859-13 Encoding iso8859-13
LangCode lt_LT LangCode lt_LT
AsBabelOptions true AsBabelOptions true
@ -436,6 +557,7 @@ End
Language lowersorbian Language lowersorbian
GuiName "Lower Sorbian" GuiName "Lower Sorbian"
BabelName lowersorbian BabelName lowersorbian
PolyglossiaName lsorbian
Encoding iso8859-2 Encoding iso8859-2
LangCode dsb_DE LangCode dsb_DE
End End
@ -443,10 +565,18 @@ End
Language magyar Language magyar
GuiName "Hungarian" GuiName "Hungarian"
BabelName magyar BabelName magyar
PolyglossiaName magyar
Encoding iso8859-2 Encoding iso8859-2
LangCode hu_HU LangCode hu_HU
End End
# Currently not supported (file format change!)
# Language marathi
# GuiName "Marathi"
# PolyglossiaName marathi
# LangCode mr
# End
# mongolian must be loaded locally with babel options, # mongolian must be loaded locally with babel options,
# not globally via class options # not globally via class options
Language mongolian Language mongolian
@ -460,6 +590,7 @@ End
Language norsk Language norsk
GuiName "Norsk" GuiName "Norsk"
BabelName norsk BabelName norsk
PolyglossiaName norsk
Encoding iso8859-15 Encoding iso8859-15
LangCode nb_NO LangCode nb_NO
End End
@ -467,13 +598,32 @@ End
Language nynorsk Language nynorsk
GuiName "Nynorsk" GuiName "Nynorsk"
BabelName nynorsk BabelName nynorsk
PolyglossiaName nynorsk
Encoding iso8859-15 Encoding iso8859-15
LangCode nn_NO LangCode nn_NO
End End
# Currently not supported (file format change!)
# Language occitan
# GuiName "Occitan"
# PolyglossiaName occitan
# LangCode oc
# 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 polish Language polish
GuiName "Polish" GuiName "Polish"
BabelName polish BabelName polish
PolyglossiaName polish
Encoding iso8859-2 Encoding iso8859-2
LangCode pl_PL LangCode pl_PL
End End
@ -481,6 +631,7 @@ End
Language portuguese Language portuguese
GuiName "Portuguese" GuiName "Portuguese"
BabelName portuges BabelName portuges
PolyglossiaName portuges
Encoding iso8859-15 Encoding iso8859-15
LangCode pt_PT LangCode pt_PT
End End
@ -488,6 +639,7 @@ End
Language romanian Language romanian
GuiName "Romanian" GuiName "Romanian"
BabelName romanian BabelName romanian
PolyglossiaName romanian
Encoding iso8859-2 Encoding iso8859-2
LangCode ro_RO LangCode ro_RO
End End
@ -495,6 +647,7 @@ End
Language russian Language russian
GuiName "Russian" GuiName "Russian"
BabelName russian BabelName russian
PolyglossiaName russian
Encoding koi8 Encoding koi8
LangCode ru_RU LangCode ru_RU
End End
@ -502,13 +655,22 @@ End
Language samin Language samin
GuiName "North Sami" GuiName "North Sami"
BabelName samin BabelName samin
PolyglossiaName samin
Encoding iso8859-15 Encoding iso8859-15
LangCode se_NO LangCode se_NO
End End
# Currently not supported (file format change!)
# Language sanskrit
# GuiName "Sanskrit"
# PolyglossiaName sanskrit
# LangCode sa
# End
Language scottish Language scottish
GuiName "Scottish" GuiName "Scottish"
BabelName scottish BabelName scottish
PolyglossiaName scottish
Encoding iso8859-15 Encoding iso8859-15
LangCode gd_GB LangCode gd_GB
End End
@ -516,6 +678,7 @@ End
Language serbian Language serbian
GuiName "Serbian" GuiName "Serbian"
BabelName serbian BabelName serbian
PolyglossiaName serbian
Encoding iso8859-5 Encoding iso8859-5
LangCode sr_RS LangCode sr_RS
End End
@ -523,6 +686,8 @@ End
Language serbian-latin Language serbian-latin
GuiName "Serbian (Latin)" GuiName "Serbian (Latin)"
BabelName serbian BabelName serbian
PolyglossiaName serbian
PolyglossiaOpts "script=latin"
Encoding iso8859-2 Encoding iso8859-2
LangCode sr_RS LangCode sr_RS
End End
@ -530,6 +695,7 @@ End
Language slovak Language slovak
GuiName "Slovak" GuiName "Slovak"
BabelName slovak BabelName slovak
PolyglossiaName slovak
Encoding iso8859-2 Encoding iso8859-2
LangCode sk_SK LangCode sk_SK
End End
@ -537,6 +703,7 @@ End
Language slovene Language slovene
GuiName "Slovene" GuiName "Slovene"
BabelName slovene BabelName slovene
PolyglossiaName slovenian
Encoding iso8859-2 Encoding iso8859-2
LangCode sl_SI LangCode sl_SI
End End
@ -544,6 +711,7 @@ End
Language spanish Language spanish
GuiName "Spanish" GuiName "Spanish"
BabelName spanish BabelName spanish
PolyglossiaName spanish
Encoding iso8859-15 Encoding iso8859-15
LangCode es_ES LangCode es_ES
PostBabelPreamble PostBabelPreamble
@ -551,9 +719,11 @@ Language spanish
EndPostBabelPreamble EndPostBabelPreamble
End End
# there are no spanish shorthands in polyglossia
Language spanish-mexico Language spanish-mexico
GuiName "Spanish (Mexico)" GuiName "Spanish (Mexico)"
BabelName spanish BabelName spanish
PolyglossiaName spanish
Encoding iso8859-15 Encoding iso8859-15
LangCode es_MX LangCode es_MX
PostBabelPreamble PostBabelPreamble
@ -564,13 +734,36 @@ End
Language swedish Language swedish
GuiName "Swedish" GuiName "Swedish"
BabelName swedish BabelName swedish
PolyglossiaName swedish
Encoding iso8859-15 Encoding iso8859-15
LangCode sv_SE LangCode sv_SE
End End
# Currently not supported (file format change!)
# Language syriac
# GuiName "Syriac"
# PolyglossiaName syriac
# LangCode syr
# End
# Currently not supported (file format change!)
# Language tamil
# GuiName "Tamil"
# PolyglossiaName tamil
# LangCode Taml
# End
# Currently not supported (file format change!)
# Language telugu
# GuiName "Telugu"
# PolyglossiaName telugu
# LangCode te
# End
Language thai Language thai
GuiName "Thai" GuiName "Thai"
BabelName thai BabelName thai
PolyglossiaName thai
Encoding tis620-0 Encoding tis620-0
LangCode th_TH LangCode th_TH
PostBabelPreamble PostBabelPreamble
@ -581,6 +774,7 @@ End
Language turkish Language turkish
GuiName "Turkish" GuiName "Turkish"
BabelName turkish BabelName turkish
PolyglossiaName turkish
Encoding iso8859-9 Encoding iso8859-9
LangCode tr_TR LangCode tr_TR
End End
@ -590,6 +784,7 @@ End
Language turkmen Language turkmen
GuiName "Turkmen" GuiName "Turkmen"
BabelName turkmen BabelName turkmen
PolyglossiaName turkmen
Encoding utf8 Encoding utf8
LangCode tk_TM LangCode tk_TM
AsBabelOptions true AsBabelOptions true
@ -598,6 +793,7 @@ End
Language ukrainian Language ukrainian
GuiName "Ukrainian" GuiName "Ukrainian"
BabelName ukrainian BabelName ukrainian
PolyglossiaName ukrainian
Encoding koi8-u Encoding koi8-u
LangCode uk_UA LangCode uk_UA
End End
@ -605,16 +801,25 @@ End
Language uppersorbian Language uppersorbian
GuiName "Upper Sorbian" GuiName "Upper Sorbian"
BabelName uppersorbian BabelName uppersorbian
PolyglossiaName usorbian
Encoding iso8859-2 Encoding iso8859-2
LangCode hsb_DE LangCode hsb_DE
End End
# Currently not supported (file format change!)
# Language urdu
# GuiName "Urdu"
# PolyglossiaName urdu
# LangCode ur
# End
# vietnam must be loaded locally with babel options, # vietnam must be loaded locally with babel options,
# not globally via class options, see # not globally via class options, see
# http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
Language vietnamese Language vietnamese
GuiName "Vietnamese" GuiName "Vietnamese"
BabelName vietnam BabelName vietnam
PolyglossiaName vietnamese
Encoding utf8 Encoding utf8
LangCode vi_VN LangCode vi_VN
AsBabelOptions true AsBabelOptions true
@ -623,6 +828,7 @@ End
Language welsh Language welsh
GuiName "Welsh" GuiName "Welsh"
BabelName welsh BabelName welsh
PolyglossiaName welsh
Encoding iso8859-15 Encoding iso8859-15
LangCode cy_GB LangCode cy_GB
End End

View File

@ -49,6 +49,8 @@ bool Language::readLanguage(Lexer & lex)
LA_INTERNAL_ENC, LA_INTERNAL_ENC,
LA_LANG_CODE, LA_LANG_CODE,
LA_LANG_VARIETY, LA_LANG_VARIETY,
LA_POLYGLOSSIANAME,
LA_POLYGLOSSIAOPTS,
LA_POSTBABELPREAMBLE, LA_POSTBABELPREAMBLE,
LA_PREBABELPREAMBLE, LA_PREBABELPREAMBLE,
LA_RTL LA_RTL
@ -64,6 +66,8 @@ bool Language::readLanguage(Lexer & lex)
{ "internalencoding", LA_INTERNAL_ENC }, { "internalencoding", LA_INTERNAL_ENC },
{ "langcode", LA_LANG_CODE }, { "langcode", LA_LANG_CODE },
{ "langvariety", LA_LANG_VARIETY }, { "langvariety", LA_LANG_VARIETY },
{ "polyglossianame", LA_POLYGLOSSIANAME },
{ "polyglossiaopts", LA_POLYGLOSSIAOPTS },
{ "postbabelpreamble", LA_POSTBABELPREAMBLE }, { "postbabelpreamble", LA_POSTBABELPREAMBLE },
{ "prebabelpreamble", LA_PREBABELPREAMBLE }, { "prebabelpreamble", LA_PREBABELPREAMBLE },
{ "rtl", LA_RTL } { "rtl", LA_RTL }
@ -98,6 +102,12 @@ bool Language::readLanguage(Lexer & lex)
case LA_BABELNAME: case LA_BABELNAME:
lex >> babel_; lex >> babel_;
break; break;
case LA_POLYGLOSSIANAME:
lex >> polyglossia_name_;
break;
case LA_POLYGLOSSIAOPTS:
lex >> polyglossia_opts_;
break;
case LA_ENCODING: case LA_ENCODING:
lex >> encodingStr_; lex >> encodingStr_;
break; break;

View File

@ -31,29 +31,33 @@ class Language {
public: public:
/// ///
Language() : rightToLeft_(false) {} Language() : rightToLeft_(false) {}
/// /// LyX language name
std::string const & lang() const { return lang_; } std::string const & lang() const { return lang_; }
/// /// Babel language name
std::string const & babel() const { return babel_; } std::string const & babel() const { return babel_; }
/// /// polyglossia language name
std::string const & polyglossia() const { return polyglossia_name_; }
/// polyglossia language options
std::string const & polyglossiaOpts() const { return polyglossia_opts_; }
/// translatable GUI name
std::string const & display() const { return display_; } std::string const & display() const { return display_; }
/// /// is this a RTL language?
bool rightToLeft() const { return rightToLeft_; } bool rightToLeft() const { return rightToLeft_; }
/// /// default encoding
Encoding const * encoding() const { return encoding_; } Encoding const * encoding() const { return encoding_; }
/// ///
std::string const & encodingStr() const { return encodingStr_; } std::string const & encodingStr() const { return encodingStr_; }
/// /// language code
std::string const & code() const { return code_; } std::string const & code() const { return code_; }
/// set code (needed for rc.spellchecker_alt_lang) /// set code (needed for rc.spellchecker_alt_lang)
void setCode(std::string const c) { code_ = c; } void setCode(std::string const c) { code_ = c; }
/// /// language variety (needed by aspell checker)
std::string const & variety() const { return variety_; } std::string const & variety() const { return variety_; }
/// set variety (needed for rc.spellchecker_alt_lang) /// set variety (needed for rc.spellchecker_alt_lang)
void setVariety(std::string const v) { variety_ = v; } void setVariety(std::string const v) { variety_ = v; }
/// /// preamble settings after babel was called
std::string const & babel_postsettings() const { return babel_postsettings_; } std::string const & babel_postsettings() const { return babel_postsettings_; }
/// /// preamble settings before babel is called
std::string const & babel_presettings() const { return babel_presettings_; } std::string const & babel_presettings() const { return babel_presettings_; }
/// This language internally sets a font encoding /// This language internally sets a font encoding
bool internalFontEncoding() const { return internal_enc_; } bool internalFontEncoding() const { return internal_enc_; }
@ -71,6 +75,10 @@ private:
/// ///
std::string babel_; std::string babel_;
/// ///
std::string polyglossia_name_;
///
std::string polyglossia_opts_;
///
std::string display_; std::string display_;
/// ///
bool rightToLeft_; bool rightToLeft_;