# encoding: utf-8
=begin
* Name: SiSU
* Description: a framework for document structuring, publishing and search
* Author: Ralph Amissah
* Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 .
If you have Internet connection, the latest version of the GPL should be
available at these locations:
* SiSU uses:
* Standard SiSU markup syntax,
* Standard SiSU meta-markup syntax, and the
* Standard SiSU object citation numbering and system
* Hompages:
* Download:
* Git
* Ralph Amissah
** Description: internationalisation
=end
module SiSU_i18n
@@language_table,@@language_list=nil,nil
class Languages
def language
def table
@@language_table ||= {
am: { c: 'am', n: 'Amharic', t: 'Amharic', xlp: 'amharic' },
bg: { c: 'bg', n: 'Bulgarian', t: 'Български (Bəlgarski)', xlp: 'bulgarian' },
bn: { c: 'bn', n: 'Bengali', t: 'Bengali', xlp: 'bengali' },
br: { c: 'br', n: 'Breton', t: 'Breton', xlp: 'breton' },
ca: { c: 'ca', n: 'Catalan', t: 'catalan', xlp: 'catalan' },
cs: { c: 'cs', n: 'Czech', t: 'česky', xlp: 'czech' },
cy: { c: 'cy', n: 'Welsh', t: 'Welsh', xlp: 'welsh' },
da: { c: 'da', n: 'Danish', t: 'dansk', xlp: 'danish' },
de: { c: 'de', n: 'German', t: 'Deutsch', xlp: 'german' },
el: { c: 'el', n: 'Greek', t: 'Ελληνικά (Ellinika)', xlp: 'greek' },
en: { c: 'en', n: 'English', t: 'English', xlp: 'english' },
eo: { c: 'eo', n: 'Esperanto', t: 'Esperanto', xlp: 'esperanto' },
es: { c: 'es', n: 'Spanish', t: 'español', xlp: 'spanish' },
et: { c: 'et', n: 'Estonian', t: 'Estonian', xlp: 'estonian' },
eu: { c: 'eu', n: 'Basque', t: 'basque', xlp: 'basque' },
fi: { c: 'fi', n: 'Finnish', t: 'suomi', xlp: 'finnish' },
fr: { c: 'fr', n: 'French', t: 'français', xlp: 'french' },
ga: { c: 'ga', n: 'Irish', t: 'Irish', xlp: 'irish' },
gl: { c: 'gl', n: 'Galician', t: 'Galician', xlp: 'galician' },
he: { c: 'he', n: 'Hebrew', t: 'Hebrew', xlp: 'hebrew' },
hi: { c: 'hi', n: 'Hindi', t: 'Hindi', xlp: 'hindi' },
hr: { c: 'hr', n: 'Croatian', t: 'Croatian', xlp: 'croatian' },
hy: { c: 'hy', n: 'Armenian', t: 'Armenian', xlp: 'armenian' },
ia: { c: 'ia', n: 'Interlingua', t: 'Interlingua', xlp: 'interlingua' },
is: { c: 'is', n: 'Icelandic', t: 'Icelandic', xlp: 'icelandic' },
it: { c: 'it', n: 'Italian', t: 'Italiano', xlp: 'italian' },
ja: { c: 'ja', n: 'Japanese', t: '日本語 (Nihongo)', xlp: 'japanese' },
ko: { c: 'ko', n: 'Korean', t: 'Korean', xlp: 'korean' },
la: { c: 'la', n: 'Latin', t: 'Latin', xlp: 'latin' },
lo: { c: 'lo', n: 'Lao', t: 'Lao', xlp: 'lao' },
lt: { c: 'lt', n: 'Lithuanian', t: 'Lithuanian', xlp: 'lithuanian' },
lv: { c: 'lv', n: 'Latvian', t: 'Latvian', xlp: 'latvian' },
ml: { c: 'ml', n: 'Malayalam', t: 'Malayalam', xlp: 'malayalam' },
mr: { c: 'mr', n: 'Marathi', t: 'Marathi', xlp: 'marathi' },
nl: { c: 'nl', n: 'Dutch', t: 'Nederlands', xlp: 'dutch' },
no: { c: 'no', n: 'Norwegian', t: 'norsk', xlp: 'norsk' },
nn: { c: 'nn', n: 'Norwegian Nynorsk', t: 'nynorsk', xlp: 'nynorsk' },
oc: { c: 'oc', n: 'Occitan', t: 'Occitan', xlp: 'occitan' },
pl: { c: 'pl', n: 'Polish', t: 'polski', xlp: 'polish' },
pt: { c: 'pt', n: 'Portuguese', t: 'Português', xlp: 'portuges' },
pt_BR: { c: 'pt_BR', n: 'Portuguese Brazil', t: 'Brazilian Português', xlp: 'brazilian' },
ro: { c: 'ro', n: 'Romanian', t: 'română', xlp: 'romanian' },
ru: { c: 'ru', n: 'Russian', t: 'Русский (Russkij)', xlp: 'russian' },
sa: { c: 'sa', n: 'Sanskrit', t: 'Sanskrit', xlp: 'sanskrit' },
se: { c: 'se', n: 'Sami', t: 'Samin', xlp: 'samin' },
sk: { c: 'sk', n: 'Slovak', t: 'slovensky', xlp: 'slovak' },
sl: { c: 'sl', n: 'Slovenian', t: 'Slovenian', xlp: 'slovenian' },
sq: { c: 'sq', n: 'Albanian', t: 'Albanian', xlp: 'albanian' },
sr: { c: 'sr', n: 'Serbian', t: 'Serbian', xlp: 'serbian' },
sv: { c: 'sv', n: 'Swedish', t: 'svenska', xlp: 'swedish' },
ta: { c: 'ta', n: 'Tamil', t: 'Tamil', xlp: 'tamil' },
te: { c: 'te', n: 'Telugu', t: 'Telugu', xlp: 'telugu' },
th: { c: 'th', n: 'Thai', t: 'Thai', xlp: 'thai' },
tk: { c: 'tk', n: 'Turkmen', t: 'Turkmen', xlp: 'turkmen' },
tr: { c: 'tr', n: 'Turkish', t: 'Türkçe', xlp: 'turkish' },
uk: { c: 'uk', n: 'Ukranian', t: 'українська (ukrajins\'ka)', xlp: 'ukrainian' },
ur: { c: 'ur', n: 'Urdu', t: 'Urdu', xlp: 'urdu' },
us: { c: 'en', n: 'English (American)',t: 'English', xlp: 'english' },
vi: { c: 'vi', n: 'Vietnamese', t: 'Vietnamese', xlp: 'vietnamese' },
zh: { c: 'zh', n: 'Chinese', t: '中文', xlp: 'chinese' },
en: { c: 'en', n: 'English', t: 'English', xlp: 'english' },
xx: { c: 'xx', n: 'Default', t: 'English', xlp: 'english' },
}
end
def list
@@language_list ||= {
'am' => table[:am],
'bg' => table[:bg],
'bn' => table[:bn],
'br' => table[:br],
'ca' => table[:ca],
'cs' => table[:cs],
'cy' => table[:cy],
'da' => table[:da],
'de' => table[:de],
'el' => table[:el],
'en' => table[:en],
'eo' => table[:eo],
'es' => table[:es],
'et' => table[:et],
'eu' => table[:eu],
'fi' => table[:fi],
'fr' => table[:fr],
'ga' => table[:ga],
'gl' => table[:gl],
'he' => table[:he],
'hi' => table[:hi],
'hr' => table[:hr],
'hy' => table[:hy],
'ia' => table[:ia],
'is' => table[:is],
'it' => table[:it],
'ja' => table[:ja],
'ko' => table[:ko],
'la' => table[:la],
'lo' => table[:lo],
'lt' => table[:lt],
'lv' => table[:lv],
'ml' => table[:ml],
'mr' => table[:mr],
'nl' => table[:nl],
'no' => table[:no],
'nn' => table[:nn],
'oc' => table[:oc],
'pl' => table[:pl],
'pt' => table[:pt],
'pt_BR' => table[:pt_BR],
'ro' => table[:ro],
'ru' => table[:ru],
'sa' => table[:sa],
'se' => table[:se],
'sk' => table[:sk],
'sl' => table[:sl],
'sq' => table[:sq],
'sr' => table[:sr],
'sv' => table[:sv],
'ta' => table[:ta],
'te' => table[:te],
'th' => table[:th],
'tk' => table[:tk],
'tr' => table[:tr],
'uk' => table[:uk],
'ur' => table[:ur],
'us' => table[:en],
'vi' => table[:vi],
'zh' => table[:zh],
'en' => table[:en],
'xx' => table[:en]
}
end
self
end
end
class Alphabet
def initialize(lng_code)
@lng_code=lng_code
end
def hash_arrays
@alph=case @lng_code
when /en/ #english
{
u: %w[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z],
l: %w[a b c d e f g h i j k l m n o p q r s t u v w x y z]
}
when /da|no|nn/ #danish, norwegian
{
u: %w[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Æ Ø],
l: %w[a b c d e f g h i j k l m n o p q r s t u v w x y z å æ ø]
#u: %W[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å],
#l: %w[a b c d e f g h i j k l m n o p q r s t u v w x y z æ ø å]
}
when /sv/ #swedish
{
u: %w[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö],
l: %w[a b c d e f g h i j k l m n o p q r s t u v w x y z å ä ö]
}
else #english default
{
u: %w[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z],
l: %w[a b c d e f g h i j k l m n o p q r s t u v w x y z]
}
end
end
def hash_strings
{ u: hash_arrays[:u].join, l: hash_arrays[:l].join }
end
end
end
__END__
Language Lists
* po4a c:
Px[:lng_lst] see constants.rb
* polyglossia xlp:
missing from (:c) list:
arabic asturian bahasai bahasam coptic divehi farsi lsorbian magyar scottish syriac usorbian
note ISO_639-1
also note ISO_639-2
Px[:lng_lst] # constants.rb
module SiSU_TextTranslation
class Language
def initialize(md)
@md=md
end
def tex_name(char)
@lang=if char
case char
when 'sq' then 'albanian'
when 'am' then 'amharic'
#when 'ar' then 'arabic' # see polyglossia
when 'hy' then 'armenian'
#when '' then 'asturian' # polyglossia
#when '' then 'bahasai' # polyglossia
#when '' then 'bahasam' # polyglossia
when 'eu' then 'basque'
when 'bn' then 'bengali'
when 'pt_BR' then 'brazilian'
when 'br' then 'breton'
when 'bg' then 'bulgarian'
when 'ca' then 'catalan' # see polyglossia
#when '' then 'coptic' # polyglossia
when 'hr' then 'croatian'
when 'cs' then 'czech'
when 'da' then 'danish'
#when '' then 'divehi' # polyglossia
when 'nl' then 'dutch' # see polyglossia
when 'en' then 'english' # see polyglossia
when 'eo' then 'esperanto' # see polyglossia
when 'et' then 'estonian'
when 'gl' then 'galician'
when 'de' then 'german'
when 'el' then 'greek' #gl ?
when 'he' then 'hebrew'
when 'hi' then 'hindi'
when 'is' then 'icelandic'
when 'ia' then 'interlingua'
when 'ga' then 'irish'
when 'it' then 'italian'
#when '' then 'farsi' # polyglossia
when 'fi' then 'finnish'
when 'fr' then 'french'
when 'lo' then 'lao'
when 'la' then 'latin'
when 'lv' then 'latvian'
when 'lt' then 'lithuanian'
#when '' then 'lsorbian' # polyglossia
#when '' then 'magyar' # polyglossia
when 'ml' then 'malayalam'
when 'mr' then 'marathi'
#when 'hu' then 'magyar'
when 'no' then 'norske'
when 'nn' then 'nynorsk'
when 'oc' then 'occitan'
when 'pl' then 'polish'
when 'pt' then 'portuges'
when 'ro' then 'romanian'
when 'ru' then 'russian'
when 'se' then 'samin' #(check sami?)
when 'sa' then 'sanskrit'
when 'sr' then 'serbian'
#when '' then 'scottish' # polyglossia (gd (Gaelic (Scots)))
when 'sk' then 'slovak'
when 'sl' then 'slovenian'
when 'es' then 'spanish'
when 'sv' then 'swedish'
when 'ta' then 'tamil'
when 'te' then 'telugu'
when 'th' then 'thai'
when 'tr' then 'turkish'
when 'tk' then 'turkmen'
when 'uk' then 'ukrainian'
when 'ur' then 'urdu'
#when '' then 'usorbian' # polyglossia
when 'vi' then 'vietnamese'
when 'cy' then 'welsh'
when 'us' then 'USenglish' # depreciated, see iso-639-2
else then 'english'
end
else 'english'
end
end
end
end
#% 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