aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/constants.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3/constants.rb')
-rw-r--r--lib/sisu/v3/constants.rb595
1 files changed, 595 insertions, 0 deletions
diff --git a/lib/sisu/v3/constants.rb b/lib/sisu/v3/constants.rb
new file mode 100644
index 00000000..c8cac1f6
--- /dev/null
+++ b/lib/sisu/v3/constants.rb
@@ -0,0 +1,595 @@
+# coding:utf-8
+=begin
+
+ * Name: SiSU
+
+ * Description: a framework for document structuring, publishing and search
+ constants
+
+ * Author: Ralph Amissah
+
+ * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+
+ * License: GPL 3 or later:
+
+ SiSU, a framework for document structuring, publishing and search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <http://www.gnu.org/licenses/>.
+
+ If you have Internet connection, the latest version of the GPL should be
+ available at these locations:
+ <http://www.fsf.org/licensing/licenses/gpl.html>
+ <http://www.gnu.org/copyleft/gpl.html>
+
+ <http://www.jus.uio.no/sisu/gpl.fsf/toc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/doc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/plain.txt>
+
+ * SiSU uses:
+ * Standard SiSU markup syntax,
+ * Standard SiSU meta-markup syntax, and the
+ * Standard SiSU object citation numbering and system
+
+ * Hompages:
+ <http://www.jus.uio.no/sisu>
+ <http://www.sisudoc.org>
+
+ * Download:
+ <http://www.jus.uio.no/sisu/SiSU/download.html>
+
+ * Ralph Amissah
+ <ralph@amissah.com>
+ <ralph.amissah@gmail.com>
+
+ ** Description: system environment, resource control and configuration details
+
+=end
+Sfx={:txt=>'.txt',:html=>'.html',:xhtml=>'.xhtml',:xml=>'.xml',:epub=>'.epub',:epub_xhtml=>'.xhtml',:odt=>'.odt',:pdf=>'.pdf'}
+Ax,Xx,Mx,Rx,Hx,Dx,Px,Db,Gt,Tex=Array.new(10){{}}
+Ax[:tab]="\t"
+Xx[:protect]='☞'
+Xx[:segment]='Ф'
+Xx[:html_relative2]='※※' #'※' '☼'
+Xx[:html_relative1]='※' #'※' '☼'
+Mx[:meta_o],Mx[:meta_c]='〔@','〕'
+Mx[:lv_o_1],Mx[:lv_o_2],Mx[:lv_o_3],Mx[:lv_o_4],Mx[:lv_o_5],Mx[:lv_o_6],Mx[:lv_o_7],Mx[:lv_o_8],Mx[:lv_o_9]=1,2,3,4,5,6,7,8,9;
+Mx[:lv_o],Mx[:lv_c]='〔','〕'
+Mx[:en_a_o]='【'; Mx[:en_a_c]='】' #endnote Mx[:en_a_o]='~{'; Mx[:en_a_c]='}~'
+Mx[:en_b_o]='〖'; Mx[:en_b_c]='〗' #endnote Mx[:en_b_o]='~['; Mx[:en_b_c]=']~'
+Mx[:bl_o]='〔'; Mx[:bl_c]='〕' #block text mark
+Mx[:gr_o]='〔'; Mx[:gr_c]='〕' #group text mark #REPLACE & RETIRE
+Mx[:id_o]='〔'; Mx[:id_c]='〕' #object id mark
+Mx[:tc_o]='『'; Mx[:tc_c]="』" #table row mark #Mx[:tc_c]="』\n"
+Mx[:tc_p]='┆' #table col/misc mark
+Mx[:pa_o]='〔'; Mx[:pa_c]='〕' #affects paragraph mark
+Mx[:mk_o]='〔'; Mx[:mk_c]='〕' #generic mark
+Mx[:gl_o]='〔'; Mx[:gl_c]='〕' #glyph
+Mx[:fa_o]='〔'; Mx[:fa_o_c]='¤'; Mx[:fa_c_o]='¤'; Mx[:fa_c]='〕'
+Mx[:fa_bold_o]= "#{Mx[:fa_o]}b#{Mx[:fa_o_c]}"; Mx[:fa_bold_c]= "#{Mx[:fa_c_o]}b#{Mx[:fa_c]}"
+Mx[:fa_italics_o]= "#{Mx[:fa_o]}i#{Mx[:fa_o_c]}"; Mx[:fa_italics_c]= "#{Mx[:fa_c_o]}i#{Mx[:fa_c]}"
+Mx[:fa_underscore_o]= "#{Mx[:fa_o]}u#{Mx[:fa_o_c]}"; Mx[:fa_underscore_c]= "#{Mx[:fa_c_o]}u#{Mx[:fa_c]}"
+Mx[:fa_cite_o]= "#{Mx[:fa_o]}cite#{Mx[:fa_o_c]}"; Mx[:fa_cite_c]= "#{Mx[:fa_c_o]}cite#{Mx[:fa_c]}"
+Mx[:fa_insert_o]= "#{Mx[:fa_o]}ins#{Mx[:fa_o_c]}"; Mx[:fa_insert_c]= "#{Mx[:fa_c_o]}ins#{Mx[:fa_c]}"
+Mx[:fa_strike_o]= "#{Mx[:fa_o]}del#{Mx[:fa_o_c]}"; Mx[:fa_strike_c]= "#{Mx[:fa_c_o]}del#{Mx[:fa_c]}"
+Mx[:fa_superscript_o]="#{Mx[:fa_o]}sup#{Mx[:fa_o_c]}"; Mx[:fa_superscript_c]="#{Mx[:fa_c_o]}sup#{Mx[:fa_c]}"
+Mx[:fa_subscript_o]= "#{Mx[:fa_o]}sub#{Mx[:fa_o_c]}"; Mx[:fa_subscript_c]= "#{Mx[:fa_c_o]}sub#{Mx[:fa_c]}"
+Mx[:fa_hilite_o]= "#{Mx[:fa_o]}hi#{Mx[:fa_o_c]}"; Mx[:fa_hilite_c]= "#{Mx[:fa_c_o]}hi#{Mx[:fa_c]}"
+Mx[:fa_monospace_o]= "#{Mx[:fa_o]}mono#{Mx[:fa_o_c]}"; Mx[:fa_monospace_c]= "#{Mx[:fa_c_o]}mono#{Mx[:fa_c]}"
+Mx[:gl_bullet]= "#{Mx[:gl_o]}●#{Mx[:gl_c]}"
+ Mx[:pa_non_object_dummy_heading]="#{Mx[:pa_o]}-##{Mx[:pa_c]}" #unnumbered paragraph, delete when not required [used in dummy headings, eg. for segmented html] (place marker at end of paragraph)
+ Mx[:pa_non_object_no_heading]="#{Mx[:pa_o]}~##{Mx[:pa_c]}" #unnumbered paragraph (place marker at end of paragraph)
+Mx[:idx_o]='▢ '; Mx[:idx_c]='▢ ' #
+Mx[:nbsp]= '░' #'▭ '
+Mx[:br_line]= '╱' #lB ▌ 9612 ┘ ¶
+Mx[:br_nl]= '╲' #lB ▌ 』 ┘
+Mx[:br_paragraph]= '█' #FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616
+Mx[:br_obj]= 'break_obj'; Hx[:br_obj]= {:obj=>Mx[:br_obj]} # line sep
+Mx[:br_page]= 'break_page'; Hx[:br_page]= {:obj=>Mx[:br_page]} # newpage
+Mx[:br_page_new]= 'break_page_new'; Hx[:br_page_new]= {:obj=>Mx[:br_page_new]} # clearpage
+Mx[:br_endnotes]= "#{Mx[:mk_o]}ENDNOTES#{Mx[:mk_c]}"
+Mx[:br_eof]= "#{Mx[:mk_o]}EOF#{Mx[:mk_c]}"
+Mx[:lnk_o]='⌠'; Mx[:lnk_c]='⌡' #'⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o]='◁'; Mx[:lnk_c]='▷' #‹ ›
+Mx[:url_o]='「'; Mx[:url_c]='」'
+Mx[:rel_o]='⌈'; Mx[:rel_c]='⌋'
+Mx[:tag_o]='⌊'; Mx[:tag_c]='⌉'
+Mx[:sm_set_o]='《'; Mx[:sm_set_c]='》'
+Mx[:sm_subset_o]='《 '; Mx[:sm_subset_c]='》'
+Mx[:vline]='┆' # ¦ |
+#Mx[:sm_set_o]='∈ '; Mx[:sm_set_c]='∋ '
+#Mx[:sm_subset_o]='∈ '; Mx[:sm_subset_c]='∋ '
+Rx[:mx_fa_clean]= /#{Mx[:fa_o]}.+?#{Mx[:fa_c]}|#{Mx[:pa_o]}.+?#{Mx[:pa_c]}|#{Mx[:mk_o]}.+?#{Mx[:mk_c]}/
+Rx[:lv],Rx[:lv_1],Rx[:lv_2],Rx[:lv_3],Rx[:lv_4],Rx[:lv_5],Rx[:lv_6],Rx[:lv_7],Rx[:lv_8],Rx[:lv_9]=
+ /〔([1-9]):(\S*?)〕/,/#{Mx[:lv_o_1]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_2]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_3]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_4]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_5]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_6]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_7]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_8]}(\S*?)#{Mx[:lv_c]}/,/#{Mx[:lv_o_9]}(\S*?)#{Mx[:lv_c]}/
+Rx[:meta]=/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}/
+Dx[:url_o]='‹'; Dx[:url_c]='›'
+Dx[:url_o_xml]='&lt;'; Dx[:url_c_xml]='&gt;'
+Dx[:rel_o]='‹'; Dx[:rel_c]='›' # Dx[:rel_o]='「'; Dx[:rel_c]='」'
+Tex[:backslash]="\\\\"
+Tex[:backslash]="\\\\"
+Tex[:tilde]='\\\\\\~'
+#Px[:emphasis_o]= '*'; Px[:emphasis_c]= '*'
+#Px[:bold_o]= '!'; Px[:bold_c]= '!'
+Px[:bold_o]= '*'; Px[:bold_c]= '*'
+Px[:italics_o]= '/'; Px[:italics_c]= '/'
+Px[:underscore_o]= '_'; Px[:underscore_c]= '_'
+Px[:cite_o]= '"'; Px[:cite_c]= '"'
+Px[:insert_o]= '+'; Px[:insert_c]= '+'
+Px[:strike_o]= '-'; Px[:strike_c]= '-'
+Px[:superscript_o]= '^'; Px[:superscript_c]= '^'
+Px[:subscript_o]= '['; Px[:subscript_c]= ']'
+Px[:hilite_o]= '*'; Px[:hilite_c]= '*'
+Px[:monospace_o]= ''; Px[:monospace_c]= ''
+Px[:po_bold_o]= '!{'; Px[:po_bold_c]= '}!'
+Px[:po_italics_o]= '/{'; Px[:po_italics_c]= '}/'
+Px[:po_underscore_o]= '_{'; Px[:po_underscore_c]= '}_'
+Px[:po_cite_o]= '"{'; Px[:po_cite_c]= '}"'
+Px[:po_insert_o]= '+{'; Px[:po_insert_c]= '}+'
+Px[:po_strike_o]= '-{'; Px[:po_strike_c]= '}-'
+Px[:po_superscript_o]='^{'; Px[:po_superscript_c]='}^'
+Px[:po_subscript_o]= ',{'; Px[:po_subscript_c]= '},'
+Px[:po_hilite_o]= '*{'; Px[:po_hilite_c]= '}*'
+Px[:po_monospace_o]= '#{'; Px[:po_monospace_c]= '}#'
+Px[:lng_lst]=%w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi]
+#Px[:lng_lst]=%w[sq am hy eu bn pt_BR br bg ca hr cs da nl en eo et gl de el he hi is ia ga it fi fr lo la lv lt ml mr no nn oc pl pt ro ru se sa sr sk sl es sv ta te th tr tk uk ur vi cy us]
+Px[:lv1]= '*'
+Px[:lv2]= '='
+Px[:lv3]= '='
+#Px[:lv2_3]= '='
+Px[:lv4]= '-'
+Px[:lv5]= '.'
+Px[:lv6]= '.'
+#Px[:lv5_6]= '.'
+Db[:name_prefix]="SiSU#{SiSU_version_dir}c_"
+Db[:name_prefix_db]="sisu_#{SiSU_version_dir}c_"
+Db[:col_title]=800
+Db[:col_title_part]=400
+Db[:col_title_edition]=10
+Db[:col_name]=600
+Db[:col_creator_misc_short]=100
+Db[:col_language]=100
+Db[:col_language_char]=3
+Db[:col_date_text]=10
+Db[:col_classify_txt_long]=600
+Db[:col_classify_txt_short]=600
+Db[:col_classify_short]=200
+Db[:col_classify_identify]=256
+Db[:col_classify_library]=30
+Db[:col_classify_small]=16
+Db[:col_filename]=256
+Db[:col_digest]=64
+Db[:col_filesize]=10
+Db[:col_info_note]=2500
+Gt[:grotto]='sisu:'
+Gt[:src]='src'
+Gt[:po]='po4a/po'
+Gt[:pot]='po4a/pot'
+Gt[:image]='mm/image'
+Gt[:audio]='mm/audio'
+Gt[:video]='mm/video'
+Gt[:conf]='conf'
+Gt[:skin]='conf/skin' #Gt[:skin]='conf/skin/doc'
+__END__
+consider:
+ 〔comment〕
+ 〔links?????〕
+ import document?
+check:
+ bold line
+
+┆┆⋮┇┊┋
+『』
+「」
+〔〕
+【】
+
+ #˝ " λ Ω β α π Ѫ Ж Я Ѳ ѳ Ф ㈣
+ Ѳ ѳ Ф
+ ♩ ♭  ✠  ▭ ▬ ▪
+【】〖〗《》「」
+ ‹ › ∗ 
+'〔lv1〕','〔lv2〕','〔lv3〕','〔lv4〕','〔lv5〕','〔lv6〕','〔lv7〕','〔lv8〕','〔lv9〕'
+'〔 Ѳ1〕','〔 Ѳ2〕','〔 Ѳ3〕','〔 Ѳ4〕','〔 Ѳ5〕','〔Ѳ6〕','〔Ѳ7〕','〔Ѳ8〕','〔Ѳ9〕'
+◁▷
+◀this is text or an image▶ http://
+p __FILE__ +':'+ __LINE__.to_s
+p __FILE__ + ' ' + __LINE__.to_s + ' ' + html
+puts "#{__FILE__} #{__LINE__} #{o.inspect}"
+puts __FILE__ + ' ' + __LINE__.to_s + '--> ' + o.inspect
+puts %{-\t#{__FILE__}::#{__LINE__}::#{caller}:\n"#{name}"}
+p "\t" + txt.obj + " << #{__FILE__} #{__LINE__} >>"
+p (__FILE__ + ' ' + __LINE__.to_s + '--> ' + dob.inspect) if dob.is=='heading'
+data.each {|o| p (__FILE__ + ' ' + __LINE__.to_s + '--> ' + o.inspect) if o.is=='heading'}
+puts "#{__FILE__} #{__LINE__} #{para}" if @opt.cmd =~/M/
+puts "#{__FILE__} #{__LINE__} #{t_o}" if @opt.cmd =~/M/
+ dr ┌ 9484 dR ┍ 9485 Dr ┎ 9486 DR ┏ 9487 dl ┐ 9488 dL ┑ 9489 Dl ┒ 9490 LD ┓ 9491 ur └ 9492 uR ┕ 9493 Ur ┖ 9494 UR ┗ 9495 ul ┘ 9496 uL ┙ 9497 Ul ┚ 9498 UL ┛ 9499 vr ├
+ dr ┌ 9484 dR ┍ 9485 Dr ┎ 9486 DR ┏ 9487 dl ┐ 9488 dL ┑ 9489 Dl ┒ 9490 LD ┓ 9491 ur └ 9492 uR ┕ 9493 Ur ┖ 9494 UR ┗ 9495 ul ┘ 9496 uL ┙ 9497 Ul ┚ 9498 UL ┛ 9499 vr ├
+ └ ┘
+Iu ⌠ 8992 Il ⌡ <7 ⌈ 8968 >7 ⌉ 8969 7< ⌊ 8970 7> ⌋ 8971
+<" 『 12302 >" 』 12303
+<' 「 12300 >' 」 12301
+
+#% Language List po4a
+http://www.debian.org/international/l10n/po/
+see polyglossia for subset
+* CSB (Unknown language)
+* KAB (Unknown language)
+* TLH (Unknown language)
+* aa (Afar)
+* ab (Abkhazian)
+* af (Afrikaans)
+* af_ZA (Afrikaans, as spoken in South Africa)
+* am (Amharic)
+* an (Unknown language)
+* ang (Unknown language)
+* ar (Arabic)
+* ar_AR (Arabic, as spoken in Argentina)
+* ar_EG (Arabic, as spoken in Egypt)
+* ar_OM (Arabic, as spoken in Oman)
+* ar_PS (Arabic, as spoken in Palestinian Territory, Occupied)
+* ar_SA (Arabic, as spoken in Saudi Arabia)
+* ar_SY (Arabic, as spoken in Syrian Arab Republic)
+* as (Assamese)
+* ast (Unknown language)
+* ay (Aymara)
+* az (Azerbaijani)
+* az_IR (Azerbaijani, as spoken in Iran)
+* be (Belarusian)
+* be@latin (Unknown language)
+* be@tarask (Unknown language)
+* bem (Unknown language)
+* bg (Bulgarian)
+* bg_BG (Bulgarian, as spoken in Bulgaria)
+* bi (Bislama)
+* bn (Bengali)
+* bn_BD (Bengali, as spoken in Bangladesh)
+* bn_IN (Bengali, as spoken in India)
+* bo (Tibetan)
+* br (Breton)
+* bs (Bosnian)
+* bs_BA (Bosnian, as spoken in Bosnia and Herzegovina)
+* bs_BS (Bosnian, as spoken in Bahamas)
+* byn (Unknown language)
+* ca (Catalan)
+* ca@valencia (Unknown language)
+* ca_AD (Catalan, as spoken in Andorra)
+* ca_ES (Catalan, as spoken in Spain)
+* ca_ES@valencia (Unknown language)
+* ca_FR (Catalan, as spoken in France)
+* ca_IT (Catalan, as spoken in Italy)
+* co (Corsican)
+* crh (Unknown language)
+* cs (Czech)
+* cs_CZ (Czech, as spoken in Czech Republic)
+* csb (Unknown language)
+* cy (Welsh)
+* cy_GB (Welsh, as spoken in Great Britain)
+* cz (Unknown language)
+* da (Danish)
+* da_DK (Danish, as spoken in Denmark)
+* de (German)
+* de_AT (German, as spoken in Austria)
+* de_CH (German, as spoken in Switzerland)
+* de_DE (German, as spoken in Germany)
+* dk (Unknown language)
+* dz (Dzongkha)
+* el (Greek)
+* el_GR (Greek, as spoken in Greece)
+* en (English)
+* en@boldquot (Unknown language)
+* en@quot (Unknown language)
+* en@shaw (Unknown language)
+* en_AU (English, as spoken in Australia)
+* en_CA (English, as spoken in Canada)
+* en_GB (English, as spoken in Great Britain)
+* en_NZ (English, as spoken in New Zealand)
+* en_US (English, as spoken in United States)
+* en_US@piglatin (Unknown language)
+* en_ZA (English, as spoken in South Africa)
+* eo (Esperanto)
+* es (Spanish)
+* es_AR (Spanish, as spoken in Argentina)
+* es_CL (Spanish, as spoken in Chile)
+* es_CO (Spanish, as spoken in Colombia)
+* es_CR (Spanish, as spoken in Costa Rica)
+* es_DO (Spanish, as spoken in Dominican Republic)
+* es_EC (Spanish, as spoken in Ecuador)
+* es_ES (Spanish, as spoken in Spain)
+* es_GA (Spanish, as spoken in Gabon)
+* es_GT (Spanish, as spoken in Guatemala)
+* es_HN (Spanish, as spoken in Honduras)
+* es_LA (Spanish, as spoken in Lao People's Democratic Republic)
+* es_MX (Spanish, as spoken in Mexico)
+* es_NI (Spanish, as spoken in Nicaragua)
+* es_PA (Spanish, as spoken in Panama)
+* es_PE (Spanish, as spoken in Peru)
+* es_PR (Spanish, as spoken in Puerto Rico)
+* es_SV (Spanish, as spoken in El Salvador)
+* es_UY (Spanish, as spoken in Uruguay)
+* es_VE (Spanish, as spoken in Venezuela)
+* et (Estonian)
+* et_EE (Estonian, as spoken in Estonia)
+* eu (Basque)
+* eu_ES (Basque, as spoken in Spain)
+* fa (Persian)
+* fa_AF (Persian, as spoken in Afghanistan)
+* fa_IR (Persian, as spoken in Iran)
+* fi (Finnish)
+* fi_FI (Finnish, as spoken in Finland)
+* fil (Unknown language)
+* fo (Faeroese)
+* fo_FO (Faeroese, as spoken in Faroe Islands)
+* fr (French)
+* fr_BE (French, as spoken in Belgium)
+* fr_CA (French, as spoken in Canada)
+* fr_CH (French, as spoken in Switzerland)
+* fr_FR (French, as spoken in France)
+* fr_FX (French, as spoken in France, Metropolitan)
+* fr_LU (French, as spoken in Luxembourg)
+* frp (Unknown language)
+* fur (Unknown language)
+* fy (Frisian)
+* fy_NL (Frisian, as spoken in Netherlands)
+* ga (Irish)
+* gd (Gaelic (Scots))
+* gez (Unknown language)
+* gl (Galician)
+* gl_ES (Galician, as spoken in Spain)
+* gn (Guarani)
+* gu (Gujarati)
+* gv (Manx)
+* ha (Hausa)
+* he (Hebrew)
+* he_IL (Hebrew, as spoken in Israel)
+* hi (Hindi)
+* hne (Unknown language)
+* hr (Croatian)
+* hr_HR (Croatian, as spoken in Croatia)
+* ht (Unknown language)
+* hu (Hungarian)
+* hu_HU (Hungarian, as spoken in Hungary)
+* hy (Armenian)
+* ia (Interlingua)
+* id (Indonesian)
+* id_ID (Indonesian, as spoken in Indonesia)
+* ig (Unknown language)
+* io (Unknown language)
+* is (Icelandic)
+* is_IS (Icelandic, as spoken in Iceland)
+* it (Italian)
+* it_CH (Italian, as spoken in Switzerland)
+* it_IT (Italian, as spoken in Italy)
+* iu (Inuktitut)
+* ja (Japanese)
+* ja_JP (Japanese, as spoken in Japan)
+* jv (Unknown language)
+* jv_ID (Unknown language)
+* ka (Georgian)
+* kab (Unknown language)
+* kk (Kazakh)
+* kl (Kalaallisut)
+* km (Khmer)
+* km_KH (Khmer, as spoken in Cambodia)
+* kn (Kannada)
+* ko (Korean)
+* ko_KR (Korean, as spoken in Korea)
+* ks (Kashmiri)
+* ku (Kurdish)
+* kw (Cornish)
+* ky (Kirghiz)
+* la (Latin)
+* lb (Letzeburgesch)
+* lg (Unknown language)
+* li (Unknown language)
+* ln (Lingala)
+* lo (Lao)
+* lt (Lithuanian)
+* lt_LT (Lithuanian, as spoken in Lithuania)
+* lv (Latvian)
+* lv_LV (Latvian, as spoken in Latvia)
+* mai (Unknown language)
+* mal (Unknown language)
+* mg (Malagasy)
+* mi (Maori)
+* mk (Macedonian)
+* mk_MK (Macedonian, as spoken in Macedonia, the Former Yugoslav Republic of)
+* ml (Malayalam)
+* ml_IN (Malayalam, as spoken in India)
+* ml_ML (Malayalam, as spoken in Mali)
+* mn (Mongolian)
+* mr (Marathi)
+* ms (Malay)
+* ms_MY (Malay, as spoken in Malaysia)
+* mt (Maltese)
+* my (Burmese)
+* my_MM (Burmese, as spoken in Myanmar)
+* na (Nauru)
+* nb (Norwegian Bokmål)
+* nb_NO (Norwegian Bokmål, as spoken in Norway)
+* nds (Unknown language)
+* ne (Nepali)
+* new (Unknown language)
+* nl (Dutch)
+* nl_BE (Dutch, as spoken in Belgium)
+* nl_NL (Dutch, as spoken in Netherlands)
+* nn (Norwegian Nynorsk)
+* nn_NO (Norwegian Nynorsk, as spoken in Norway)
+* no (Norwegian)
+* no_NO (Norwegian, as spoken in Norway)
+* nr (Ndebele, South)
+* nso (Unknown language)
+* oc (Occitan (post 1500))
+* oc_FR (Occitan (post 1500), as spoken in France)
+* om (Oromo)
+* or (Oriya)
+* pa (Panjabi)
+* pl (Polish)
+* pl_PL (Polish, as spoken in Poland)
+* pms (Unknown language)
+* ps (Pushto)
+* pt (Portuguese)
+* pt_BR (Portuguese, as spoken in Brazil)
+* pt_PT (Portuguese, as spoken in Portugal)
+* qu (Quechua)
+* rm (Rhaeto-Romance)
+* ro (Romanian)
+* ro_RO (Romanian, as spoken in Romania)
+* ru (Russian)
+* ru_RU (Russian, as spoken in Russia)
+* rw (Kinyarwanda)
+* sa (Sanskrit)
+* sc (Sardinian)
+* sd (Sindhi)
+* se (Sami)
+* se_NO (Sami, as spoken in Norway)
+* si (Sinhalese)
+* si_LK (Sinhalese, as spoken in Sri Lanka)
+* si_SI (Sinhalese, as spoken in Slovenia)
+* sk (Slovak)
+* sk_SK (Slovak, as spoken in Slovakia)
+* sl (Slovenian)
+* sl_SI (Slovenian, as spoken in Slovenia)
+* sl_SL (Slovenian, as spoken in Sierra Leone)
+* so (Somali)
+* sp (Unknown language)
+* sq (Albanian)
+* sq_AL (Albanian, as spoken in Albania)
+* sr (Serbian)
+* sr@Latn (Unknown language)
+* sr@ije (Unknown language)
+* sr@ijekavian (Unknown language)
+* sr@ijekavianlatin (Unknown language)
+* sr@latin (Unknown language)
+* sr_SR (Serbian, as spoken in Suriname)
+* sr_YU (Serbian, as spoken in Yugoslavia)
+* st (Sotho)
+* su (Sundanese)
+* su_ID (Sundanese, as spoken in Indonesia)
+* sv (Swedish)
+* sv_SE (Swedish, as spoken in Sweden)
+* sw (Swahili)
+* ta (Tamil)
+* ta_LK (Tamil, as spoken in Sri Lanka)
+* te (Telugu)
+* tg (Tajik)
+* th (Thai)
+* th_TH (Thai, as spoken in Thailand)
+* ti (Tigrinya)
+* tig (Unknown language)
+* tk (Turkmen)
+* tl (Tagalog)
+* tlh (Unknown language)
+* to (Tonga)
+* tr (Turkish)
+* tr_TR (Turkish, as spoken in Turkey)
+* tt (Tatar)
+* ug (Uighur)
+* ug_CN (Uighur, as spoken in China)
+* uk (Ukrainian)
+* uk_UA (Ukrainian, as spoken in Ukraine)
+* ur (Urdu)
+* ur_PK (Urdu, as spoken in Pakistan)
+* uz (Uzbek)
+* uz@cyrillic (Unknown language)
+* ve (Unknown language)
+* vi (Vietnamese)
+* vi_AR (Vietnamese, as spoken in Argentina)
+* vi_DE (Vietnamese, as spoken in Germany)
+* vi_PL (Vietnamese, as spoken in Poland)
+* vi_TR (Vietnamese, as spoken in Turkey)
+* vi_VN (Vietnamese, as spoken in Vietnam)
+* wa (Unknown language)
+* wal (Unknown language)
+* wo (Wolof)
+* xh (Xhosa)
+* yi (Yiddish)
+* yo (Yoruba)
+* zh (Chinese)
+* zh_CN (Chinese, as spoken in China)
+* zh_HK (Chinese, as spoken in Hong Kong)
+* zh_TW (Chinese, as spoken in Taiwan)
+* zu (Zulu)
+
+ 'sq'; 'albanian'
+ 'am'; 'amharic'
+#'ar'; 'arabic' # see polyglossia
+ 'hy'; 'armenian'
+#''; 'asturian' # polyglossia
+#''; 'bahasai' # polyglossia
+#''; 'bahasam' # polyglossia
+ 'eu'; 'basque'
+ 'bn'; 'bengali'
+ 'pt_BR'; 'brazilian'
+ 'br'; 'breton'
+ 'bg'; 'bulgarian'
+ 'ca'; 'catalan' # see polyglossia
+#''; 'coptic' # polyglossia
+ 'hr'; 'croatian'
+ 'cs'; 'czech'
+ 'da'; 'danish'
+#''; 'divehi' # polyglossia
+ 'nl'; 'dutch' # see polyglossia
+ 'en'; 'english' # see polyglossia
+ 'eo'; 'esperanto' # see polyglossia
+ 'et'; 'estonian'
+ 'gl'; 'galician'
+ 'de'; 'german'
+ 'el'; 'greek' #gl ?
+ 'he'; 'hebrew'
+ 'hi'; 'hindi'
+ 'is'; 'icelandic'
+ 'ia'; 'interlingua'
+ 'ga'; 'irish'
+ 'it'; 'italian'
+#''; 'farsi' # polyglossia
+ 'fi'; 'finnish'
+ 'fr'; 'french'
+ 'lo'; 'lao'
+ 'la'; 'latin'
+ 'lv'; 'latvian'
+ 'lt'; 'lithuanian'
+#''; 'lsorbian' # polyglossia
+#''; 'magyar' # polyglossia
+ 'ml'; 'malayalam'
+ 'mr'; 'marathi'
+#'hu'; 'magyar'
+ 'no'; 'norske'
+ 'nn'; 'nynorsk'
+ 'oc'; 'occitan'
+ 'pl'; 'polish'
+ 'pt'; 'portuges'
+ 'ro'; 'romanian'
+ 'ru'; 'russian'
+ 'se'; 'samin' #(check sami?)
+ 'sa'; 'sanskrit'
+ 'sr'; 'serbian'
+#''; 'scottish' # polyglossia (gd (Gaelic (Scots)))
+ 'sk'; 'slovak'
+ 'sl'; 'slovenian'
+ 'es'; 'spanish'
+ 'sv'; 'swedish'
+ 'ta'; 'tamil'
+ 'te'; 'telugu'
+ 'th'; 'thai'
+ 'tr'; 'turkish'
+ 'tk'; 'turkmen'
+ 'uk'; 'ukrainian'
+ 'ur'; 'urdu'
+#''; 'usorbian' # polyglossia
+ 'vi'; 'vietnamese'
+ 'cy'; 'welsh'
+ 'us'; 'USenglish' # depreciated, see iso-639-2