]> git.lyx.org Git - features.git/blob - lib/languages
350bc533b91528149d8c3016865768cf68dd47d4
[features.git] / lib / languages
1 ##########################################################################
2 #
3 # Languages supported by LyX.
4 #
5 # Syntax:
6 #
7 # Language <lyxname>
8 #       GuiName            "<Gui Name>"
9 #       BabelName          <babelname>
10 #       PolyglossiaName    <polyglossianame>
11 #       PolyglossiaOpts    "<language-specific options>"
12 #       Encoding           <encoding>
13 #       InternalEncoding   <true|false>
14 #       RTL                <true|false>
15 #       AsBabelOptions     <true|false>
16 #       LangCode           <language_code>
17 #       LangVariety        <language_variety>
18 #       PreBabelPreamble
19 #         <extra latex code inserted before babel>
20 #       EndPreBabelPreamble
21 #       PostBabelPreamble
22 #         <extra latex code inserted after babel>
23 #       EndPostBabelPreamble
24 # End
25 #
26 #
27 # NOTE:
28 #
29 # * Omitted elements will be treated as empty (if string) or "false"
30 #   (if boolean).
31 # * Encoding is not relevant for XeTeX (which is utf8 always), and if
32 #   Document > Settings > Language > Encoding is not set to "Language
33 #   Default"
34 # * InternalEncoding is used to tell LyX that babel internally sets a font
35 #   encoding (such as hebrew to LHE). See bug #5091.
36 # * AsBabelOptions advices LyX to pass the languages locally to babel, not
37 #   globally to the class. Some languages (basically those not directly
38 #   supported by babel) need this.
39 #   FIXME: in this case, we might still need to pass the other languages
40 #          globally, for the use of other packages (such as varioref).
41 # * LangCode is also used for spellchecking and thesaurus, where the
42 #   dictionaries are named accordingly. Thus, check this when intoducing/
43 #   changing language codes (especially aspell, thesaurus).
44 #   TODO: maybe use Best Current Practice (BCP 47) codes for LangCode
45 #         http://www.rfc-editor.org/rfc/bcp/bcp47.txt
46 #         http://www.w3.org/International/articles/language-tags/
47 #         http://www.iana.org/assignments/language-subtag-registry
48 # * LangVariety is used by the aspell spellchecker to differentiate
49 #   dictionaries for different varieties of a given language (e.g. German
50 #   pre-1998 and post-1998 spelling). The aspell dictionaries are named
51 #   language[_REGION][-variety].multi, e.g. de-alt.multi for "German (old
52 #   spelling)" (see http://aspell.net/man-html/Dictionary-Naming.html)
53 #
54 ##########################################################################
55
56 #
57 # LyX-internal languages
58 #
59
60 Language ignore
61         GuiName          "Ignore"
62         BabelName        ignore
63         PolyglossiaName  ignore
64         Encoding         iso8859-1
65         LangCode         ignore
66 End
67
68 Language latex
69         GuiName          "LaTeX"
70         Encoding         iso8859-1
71         LangCode         latex
72 End
73
74 #
75 # Real languages
76 #
77
78 Language afrikaans
79         GuiName          "Afrikaans"
80         BabelName        afrikaans
81         Encoding         iso8859-15
82         LangCode         af_ZA
83 End
84
85 Language albanian
86         GuiName          "Albanian"
87         BabelName        albanian
88         PolyglossiaName  albanian
89         Encoding         iso8859-2
90         LangCode         sq_AL
91 End
92
93 Language american
94         GuiName          "English (USA)"
95         BabelName        american
96         PolyglossiaName  english
97         PolyglossiaOpts  "variant=american"
98         Encoding         iso8859-15
99         LangCode         en_US
100 End
101
102 # Currently not supported (file format change!)
103 # Language ancientgreek
104 #       GuiName          "Greek (ancient)"
105 #       PolyglossiaName  greek
106 #       PolyglossiaOpts  variant=ancient
107 #       LangCode         grc
108 # End
109
110 # FIXME: dummy babel language for arabic_arabtex to be able
111 # to switch the language the way of the ArabTeX-package
112 Language arabic_arabtex
113         GuiName          "Arabic (ArabTeX)"
114         BabelName        arabtex
115         Encoding         cp1256
116         RTL              true
117         LangCode         ar_SA
118 End
119
120 # polyglossia uses "Arabic" for the lang environment
121 Language arabic_arabi
122         GuiName          "Arabic (Arabi)"
123         BabelName        arabic
124         PolyglossiaName  arabic
125         Encoding         cp1256
126         RTL              true
127         LangCode         ar_SA
128 End
129
130 Language armenian
131         GuiName          "Armenian"
132         PolyglossiaName  armenian
133         Encoding         armscii8
134         LangCode         hy_AM
135 End
136
137 Language australian
138         GuiName          "English (Australia)"
139         BabelName        australian
140         PolyglossiaName  english
141         PolyglossiaOpts  "variant=australian"
142         Encoding         iso8859-15
143         LangCode         en_AU
144 End
145
146 Language austrian
147         GuiName          "German (Austria, old spelling)"
148         BabelName        austrian
149         Encoding         iso8859-15
150         LangCode         de_AT
151 End
152
153 Language naustrian
154         GuiName          "German (Austria)"
155         BabelName        naustrian
156         Encoding         iso8859-15
157         LangCode         de_AT
158 End
159
160 Language bahasa
161         GuiName          "Indonesian"
162         BabelName        bahasa
163         PolyglossiaName  bahasai
164         Encoding         iso8859-15
165         LangCode         id_ID
166 End
167
168 Language bahasam
169         GuiName          "Malay"
170         BabelName        bahasam
171         PolyglossiaName  bahasam
172         Encoding         iso8859-15
173         LangCode         ms_MY
174 End
175
176 Language basque
177         GuiName          "Basque"
178         BabelName        basque
179         PolyglossiaName  basque
180         Encoding         iso8859-15
181         LangCode         eu_ES
182 End
183
184 Language belarusian
185         GuiName          "Belarusian"
186         BabelName        belarusian
187         Encoding         cp1251
188         LangCode         be_BY
189 End
190
191 Language brazilian
192         GuiName          "Portuguese (Brazil)"
193         BabelName        brazil
194         PolyglossiaName  brazil
195         Encoding         iso8859-15
196         LangCode         pt_BR
197 End
198
199 Language breton
200         GuiName          "Breton"
201         BabelName        breton
202         PolyglossiaName  breton
203         Encoding         iso8859-15
204         LangCode         br_FR
205 End
206
207 Language british
208         GuiName          "English (UK)"
209         BabelName        british
210         PolyglossiaName  english
211         PolyglossiaOpts  "variant=british"
212         Encoding         iso8859-15
213         LangCode         en_GB
214 End
215
216 Language bulgarian
217         GuiName          "Bulgarian"
218         BabelName        bulgarian
219         PolyglossiaName  bulgarian
220         Encoding         cp1251
221         LangCode         bg_BG
222 End
223
224 # not yet supported by polyglossia
225 Language canadian
226         GuiName          "English (Canada)"
227         BabelName        canadian
228 #       PolyglossiaName  english
229 #       PolyglossiaOpts  "variant=canadian"
230         Encoding         iso8859-15
231         LangCode         en_CA
232 End
233
234 # not yet supported by polyglossia
235 Language canadien
236         GuiName          "French (Canada)"
237         BabelName        canadien
238 #       PolyglossiaName  french
239 #       PolyglossiaOpts  "variant=canadien"
240         Encoding         iso8859-15
241         LangCode         fr_CA
242 End
243
244 Language catalan
245         GuiName          "Catalan"
246         BabelName        catalan
247         PolyglossiaName  catalan
248         PolyglossiaOpts  "babelshorthands=true"
249         Encoding         iso8859-15
250         LangCode         ca_ES
251 End
252
253 # uses CJK package
254 Language chinese-simplified
255         GuiName          "Chinese (simplified)"
256         Encoding         euc-cn
257         LangCode         zh_CN
258 End
259
260 # uses CJK package
261 Language chinese-traditional
262         GuiName         "Chinese (traditional)"
263         Encoding        utf8-cjk
264         LangCode        zh_CN
265 End
266
267 # Currently not supported (file format change!)
268 # Language coptic
269 #       GuiName          "Coptic"
270 #       PolyglossiaName  coptic
271 #       LangCode         cop
272 # End
273
274 Language croatian
275         GuiName          "Croatian"
276         BabelName        croatian
277         PolyglossiaName  croatian
278         Encoding         iso8859-2
279         LangCode         hr_HR
280 End
281
282 Language czech
283         GuiName          "Czech"
284         BabelName        czech
285         PolyglossiaName  czech
286         Encoding         iso8859-2
287         LangCode         cs_CZ
288 End
289
290 Language danish
291         GuiName          "Danish"
292         BabelName        danish
293         PolyglossiaName  danish
294         Encoding         iso8859-15
295         LangCode         da_DK
296 End
297
298 # Currently not supported (file format change!)
299 # Language divehi
300 #       GuiName          "Divehi (Maldivian)"
301 #       PolyglossiaName  divehi
302 #       LangCode         dv
303 # End
304
305 Language dutch
306         GuiName          "Dutch"
307         BabelName        dutch
308         PolyglossiaName  dutch
309         PolyglossiaOpts  "babelshorthands=true"
310         Encoding         iso8859-15
311         LangCode         nl_NL
312 End
313
314 Language english
315         GuiName          "English"
316         BabelName        english
317         PolyglossiaName  english
318         Encoding         iso8859-15
319         LangCode         en_US
320 End
321
322 # Esperanto has no country code because it is an auxiliary language
323 Language esperanto
324         GuiName          "Esperanto"
325         BabelName        esperanto
326         PolyglossiaName  esperanto
327         Encoding         iso8859-3
328         LangCode         eo
329 End
330
331 Language estonian
332         GuiName          "Estonian"
333         BabelName        estonian
334         PolyglossiaName  estonian
335         Encoding         iso8859-15
336         LangCode         et_EE
337 End
338
339 # the preamble definitions are only used due to bugs in the
340 # arabi-package -- remove them if they become unnecessary!
341 # The country code is omitted because of the aspell dic naming.
342 Language farsi
343         GuiName          "Farsi"
344         BabelName        farsi
345         PolyglossiaName  farsi
346         Encoding         utf8
347         RTL              true
348         LangCode         fa
349         PostBabelPreamble
350         \DeclareTextSymbol{\guillemotright}{LFE}{62}
351         \DeclareTextSymbol{\guillemotleft}{LFE}{60}
352         EndPostBabelPreamble
353 End
354
355 Language finnish
356         GuiName          "Finnish"
357         BabelName        finnish
358         PolyglossiaName  finnish
359         Encoding         iso8859-15
360         LangCode         fi_FI
361 End
362
363 # We redefine \og and \fg (guillemets) for older french language definitions
364 Language french
365         GuiName          "French"
366         BabelName        french
367         PolyglossiaName  french
368         Encoding         iso8859-15
369         LangCode         fr_FR
370         PostBabelPreamble
371         \addto\extrasfrench{%
372            \providecommand{\og}{\leavevmode\flqq~}%
373            \providecommand{\fg}{\ifdim\lastskip>\z@\unskip\fi~\frqq}%
374         }
375         EndPostBabelPreamble
376 End
377
378 Language galician
379         GuiName          "Galician"
380         BabelName        galician
381         PolyglossiaName  galician
382         Encoding         iso8859-15
383         LangCode         gl_ES
384 End
385
386 # german does not use a country code (due to the variety)
387 Language german
388         GuiName          "German (old spelling)"
389         BabelName        german
390         PolyglossiaName  german
391         PolyglossiaOpts  "spelling=old,babelshorthands=true"
392         Encoding         iso8859-15
393         LangCode         de
394         LangVariety      alt
395 End
396
397 Language ngerman
398         GuiName          "German"
399         BabelName        ngerman
400         PolyglossiaName  german
401         PolyglossiaOpts  "babelshorthands=true"
402         Encoding         iso8859-15
403         LangCode         de_DE
404 End
405
406 # Swiss German is not supported by babel and polyglossia yet
407 # We use ngerman for now (spellchecking is supported though!)
408 Language german-ch
409         GuiName          "German (Switzerland)"
410         BabelName        ngerman
411         PolyglossiaName  german
412         PolyglossiaOpts  "babelshorthands=true"
413         Encoding         iso8859-15
414         LangCode         de_CH
415 End
416
417 Language greek
418         GuiName           "Greek"
419         BabelName         greek
420         PolyglossiaName   greek
421         Encoding          iso8859-7
422         InternalEncoding  true
423         LangCode          el_GR
424 End
425
426 Language polutonikogreek
427         GuiName           "Greek (polytonic)"
428         BabelName         polutonikogreek
429         PolyglossiaName   greek
430         PolyglossiaOpts   "variant=polytonic"
431         Encoding          iso8859-7
432         InternalEncoding  true
433         LangCode          el_GR
434 End
435
436 Language hebrew
437         GuiName           "Hebrew"
438         BabelName         hebrew
439         PolyglossiaName   hebrew
440         Encoding          cp1255
441         InternalEncoding  true
442         RTL               true
443         LangCode          he_IL
444 End
445
446 # Currently not supported (file format change!)
447 # Language hindi
448 #       GuiName          "Hindi"
449 #       PolyglossiaName  hindi
450 #       LangCode         hi
451 # End
452
453 # Currently not supported (file format change!)
454 # "hungarian" is a synonym for the "magyar" babel language option
455 # "hungarian" might be used for special purposes,
456 # see http://www.math.bme.hu/latex/magyar_pre_tug2004.pdf
457 #Language hungarian
458 #       GuiName         "Hungarian"
459 #       BabelName       hungarian
460 #       Encoding        iso8859-2
461 #       LangCode        hu_HU
462 #End
463
464 Language icelandic
465         GuiName          "Icelandic"
466         BabelName        icelandic
467         PolyglossiaName  icelandic
468         Encoding         iso8859-15
469         LangCode         is_IS
470 End
471
472 # Interlingua has no country code because it is an auxiliary language
473 Language interlingua
474         GuiName          "Interlingua"
475         BabelName        interlingua
476         PolyglossiaName  interlingua
477         Encoding         iso8859-15
478         LangCode         ia
479 End
480
481 Language irish
482         GuiName          "Irish"
483         BabelName        irish
484         PolyglossiaName  irish
485         Encoding         iso8859-15
486         LangCode         ga_IE
487 End
488
489 Language italian
490         GuiName          "Italian"
491         BabelName        italian
492         PolyglossiaName  italian
493         Encoding         iso8859-15
494         LangCode         it_IT
495 End
496
497 # japanese must be loaded locally with babel options,
498 # not globally via class options
499 # http://www.lyx.org/trac/ticket/4597#c4
500 Language japanese
501         GuiName          "Japanese"
502         BabelName        japanese
503         Encoding         jis-plain
504         LangCode         ja_JP
505         AsBabelOptions   true
506 End
507
508 # uses CJK package
509 Language japanese-cjk
510         GuiName         "Japanese (CJK)"
511         Encoding        euc-jp
512         LangCode        ja_JP
513 End
514
515 Language kazakh
516         GuiName         "Kazakh"
517         BabelName       kazakh
518         Encoding        pt154
519         LangCode        kk_KZ
520 End
521
522 # there is no country code for Korean because ko_KR is the same as ko_KI
523 Language korean
524         GuiName         "Korean"
525         Encoding        euc-kr
526         LangCode        ko
527 End
528
529 # Currently not supported (file format change!)
530 # Language kurmanji
531 #       GuiName          "Kurmanji"
532 #       BabelName        kurmanji
533 #       LangCode         kmr
534 # End
535
536 # Currently not supported (file format change!)
537 # Language lao
538 #       GuiName          "Lao"
539 #       PolyglossiaName  lao
540 #       LangCode         lo
541 # End
542
543 # there is no country code for Latin because it is a dead language
544 Language latin
545         GuiName          "Latin"
546         BabelName        latin
547         PolyglossiaName  latin
548         Encoding         iso8859-15
549         LangCode         la
550 End
551
552 # latvian must be loaded locally with babel options,
553 # not globally via class options
554 Language latvian
555         GuiName          "Latvian"
556         BabelName        latvian
557         PolyglossiaName  latvian
558         Encoding         iso8859-4
559         LangCode         lv_LV
560         AsBabelOptions   true
561 End
562
563 # lithuanian must be loaded locally with babel options,
564 # not globally via class options
565 Language lithuanian
566         GuiName          "Lithuanian"
567         BabelName        lithuanian
568         PolyglossiaName  lithuanian
569         Encoding         iso8859-13
570         LangCode         lt_LT
571         AsBabelOptions   true
572 End
573
574 Language lowersorbian
575         GuiName          "Lower Sorbian"
576         BabelName        lowersorbian
577         PolyglossiaName  lsorbian
578         Encoding         iso8859-2
579         LangCode         dsb_DE
580 End
581
582 Language magyar
583         GuiName          "Hungarian"
584         BabelName        magyar
585         PolyglossiaName  magyar
586         Encoding         iso8859-2
587         LangCode         hu_HU
588 End
589
590 # Currently not supported (file format change!)
591 # Language marathi
592 #       GuiName          "Marathi"
593 #       PolyglossiaName  marathi
594 #       LangCode         mr
595 # End
596
597 # mongolian must be loaded locally with babel options,
598 # not globally via class options
599 Language mongolian
600         GuiName          "Mongolian"
601         BabelName        mongolian
602         Encoding         utf8
603         LangCode         mn_MN
604         AsBabelOptions   true
605 End
606
607 Language newzealand
608         GuiName          "English (New Zealand)"
609         BabelName        newzealand
610         PolyglossiaName  english
611         PolyglossiaOpts  "variant=newzealand"
612         Encoding         iso8859-15
613         LangCode         en_NZ
614 End
615
616 Language norsk
617         GuiName          "Norwegian (Bokmaal)"
618         BabelName        norsk
619         PolyglossiaName  norsk
620         Encoding         iso8859-15
621         LangCode         nb_NO
622 End
623
624 Language nynorsk
625         GuiName          "Norwegian (Nynorsk)"
626         BabelName        nynorsk
627         PolyglossiaName  nynorsk
628         Encoding         iso8859-15
629         LangCode         nn_NO
630 End
631
632 # Currently not supported (file format change!)
633 # Language occitan
634 #       GuiName          "Occitan"
635 #       PolyglossiaName  occitan
636 #       LangCode         oc
637 # End
638
639 # Currently not supported (file format change!)
640 # Russian orthography from the Petrine orthographic reforms of
641 # 1708 to the 1917 orthographic reform
642 # Language oldrussian
643 #       GuiName          "Russian (Petrine orthography)"
644 #       PolyglossiaName  russian
645 #       PolyglossiaOpts  spelling=old
646 #       LangCode         ru_petr1708
647 # End
648
649 Language polish
650         GuiName          "Polish"
651         BabelName        polish
652         PolyglossiaName  polish
653         Encoding         iso8859-2
654         LangCode         pl_PL
655 End
656
657 Language portuguese
658         GuiName          "Portuguese"
659         BabelName        portuges
660         PolyglossiaName  portuges
661         Encoding         iso8859-15
662         LangCode         pt_PT
663 End
664
665 Language romanian
666         GuiName          "Romanian"
667         BabelName        romanian
668         PolyglossiaName  romanian
669         Encoding         iso8859-2
670         LangCode         ro_RO
671 End
672
673 Language russian
674         GuiName          "Russian"
675         BabelName        russian
676         PolyglossiaName  russian
677         Encoding         koi8
678         LangCode         ru_RU
679 End
680
681 Language samin
682         GuiName          "North Sami"
683         BabelName        samin
684         PolyglossiaName  samin
685         Encoding         iso8859-15
686         LangCode         se_NO
687 End
688
689 # Currently not supported (file format change!)
690 # Language sanskrit
691 #       GuiName          "Sanskrit"
692 #       PolyglossiaName  sanskrit
693 #       LangCode         sa
694 # End
695
696 Language scottish
697         GuiName          "Scottish"
698         BabelName        scottish
699         PolyglossiaName  scottish
700         Encoding         iso8859-15
701         LangCode         gd_GB
702 End
703
704 Language serbian
705         GuiName          "Serbian"
706         BabelName        serbian
707         PolyglossiaName  serbian
708         Encoding         iso8859-5
709         LangCode         sr_RS
710 End
711
712 Language serbian-latin
713         GuiName          "Serbian (Latin)"
714         BabelName        serbian
715         PolyglossiaName  serbian
716         PolyglossiaOpts  "script=latin"
717         Encoding         iso8859-2
718         LangCode         sr_RS
719 End
720
721 Language slovak
722         GuiName          "Slovak"
723         BabelName        slovak
724         PolyglossiaName  slovak
725         Encoding         iso8859-2
726         LangCode         sk_SK
727 End
728
729 Language slovene
730         GuiName          "Slovene"
731         BabelName        slovene
732         PolyglossiaName  slovenian
733         Encoding         iso8859-2
734         LangCode         sl_SI
735 End
736
737 Language spanish
738         GuiName          "Spanish"
739         BabelName        spanish
740         PolyglossiaName  spanish
741         Encoding         iso8859-15
742         LangCode         es_ES
743         PostBabelPreamble
744         \addto\shorthandsspanish{\spanishdeactivate{~<>}}
745         EndPostBabelPreamble
746 End
747
748 # there are no spanish shorthands in polyglossia
749 Language spanish-mexico
750         GuiName          "Spanish (Mexico)"
751         BabelName        spanish
752         PolyglossiaName  spanish
753         Encoding         iso8859-15
754         LangCode         es_MX
755         PostBabelPreamble
756         \addto\shorthandsspanish{\spanishdeactivate{~<>.}}
757         EndPostBabelPreamble
758 End
759
760 Language swedish
761         GuiName          "Swedish"
762         BabelName        swedish
763         PolyglossiaName  swedish
764         Encoding         iso8859-15
765         LangCode         sv_SE
766 End
767
768 # Currently not supported (file format change!)
769 # Language syriac
770 #       GuiName          "Syriac"
771 #       PolyglossiaName  syriac
772 #       LangCode         syr
773 # End
774
775 # Currently not supported (file format change!)
776 # Language tamil
777 #       GuiName          "Tamil"
778 #       PolyglossiaName  tamil
779 #       LangCode         Taml
780 # End
781
782 # Currently not supported (file format change!)
783 # Language telugu
784 #       GuiName          "Telugu"
785 #       PolyglossiaName  telugu
786 #       LangCode         te
787 # End
788
789 Language thai
790         GuiName          "Thai"
791         BabelName        thai
792         PolyglossiaName  thai
793         Encoding         tis620-0
794         LangCode         th_TH
795         PostBabelPreamble
796         \usepackage{thswitch}
797         EndPostBabelPreamble
798 End
799
800 Language turkish
801         GuiName          "Turkish"
802         BabelName        turkish
803         PolyglossiaName  turkish
804         Encoding         iso8859-9
805         LangCode         tr_TR
806         PostBabelPreamble
807         \usepackage{xkeyval}
808         EndPostBabelPreamble
809 End
810
811 # turkmen must be loaded locally with babel options,
812 # not globally via class options
813 Language turkmen
814         GuiName          "Turkmen"
815         BabelName        turkmen
816         PolyglossiaName  turkmen
817         Encoding         utf8
818         LangCode         tk_TM
819         AsBabelOptions   true
820 End
821
822 Language ukrainian
823         GuiName          "Ukrainian"
824         BabelName        ukrainian
825         PolyglossiaName  ukrainian
826         Encoding         koi8-u
827         LangCode         uk_UA
828 End
829
830 Language uppersorbian
831         GuiName          "Upper Sorbian"
832         BabelName        uppersorbian
833         PolyglossiaName  usorbian
834         Encoding         iso8859-2
835         LangCode         hsb_DE
836 End
837
838 # Currently not supported (file format change!)
839 # Language urdu
840 #       GuiName          "Urdu"
841 #       PolyglossiaName  urdu
842 #       LangCode         ur
843 # End
844
845 # vietnam must be loaded locally with babel options,
846 # not globally via class options, see
847 # http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
848 Language vietnamese
849         GuiName          "Vietnamese"
850         BabelName        vietnam
851         PolyglossiaName  vietnamese
852         Encoding         utf8
853         LangCode         vi_VN
854         AsBabelOptions   true
855 End
856
857 Language welsh
858         GuiName          "Welsh"
859         BabelName        welsh
860         PolyglossiaName  welsh
861         Encoding         iso8859-15
862         LangCode         cy_GB
863 End