# encoding: utf-8
=begin
* Name: SiSU
* Description: a framework for document structuring, publishing and search
* Author: Ralph Amissah
* Copyright: (C) 1997 - 2011, 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:
* Ralph Amissah
** Description: internationalisation
=end
module SiSU_i18n
class Languages
def language
def table
list= {
am: { c: 'am', n: 'Amharic', xlp: 'amharic'},
bg: { c: 'bg', n: 'Bulgarian', xlp: 'bulgarian'},
bn: { c: 'bn', n: 'Bengali', xlp: 'bengali'},
br: { c: 'br', n: 'Breton', xlp: 'breton'},
ca: { c: 'ca', n: 'Catalan', xlp: 'catalan'},
cs: { c: 'cs', n: 'Czech', xlp: 'czech'},
cy: { c: 'cy', n: 'Welsh', xlp: 'welsh'},
da: { c: 'da', n: 'Danish', xlp: 'danish'},
de: { c: 'de', n: 'German', xlp: 'german'},
el: { c: 'el', n: 'Greek', xlp: 'greek'},
en: { c: 'en', n: 'English', xlp: 'english'},
eo: { c: 'eo', n: 'Esperanto', xlp: 'esperanto'},
es: { c: 'es', n: 'Spanish', xlp: 'spanish'},
et: { c: 'et', n: 'Estonian', xlp: 'estonian'},
eu: { c: 'eu', n: 'Basque', xlp: 'basque'},
fi: { c: 'fi', n: 'Finnish', xlp: 'finnish'},
fr: { c: 'fr', n: 'French', xlp: 'french'},
ga: { c: 'ga', n: 'Irish', xlp: 'irish'},
gl: { c: 'gl', n: 'Galician', xlp: 'galician'},
he: { c: 'he', n: 'Hebrew', xlp: 'hebrew'},
hi: { c: 'hi', n: 'Hindi', xlp: 'hindi'},
hr: { c: 'hr', n: 'Croatian', xlp: 'croatian'},
hy: { c: 'hy', n: 'Armenian', xlp: 'armenian'},
ia: { c: 'ia', n: 'Interlingua', xlp: 'interlingua'},
is: { c: 'is', n: 'Icelandic', xlp: 'icelandic'},
it: { c: 'it', n: 'Italian', xlp: 'italian'},
la: { c: 'la', n: 'Latin', xlp: 'latin'},
lo: { c: 'lo', n: 'Lao', xlp: 'lao'},
lt: { c: 'lt', n: 'Lithuanian', xlp: 'lithuanian'},
lv: { c: 'lv', n: 'Latvian', xlp: 'latvian'},
ml: { c: 'ml', n: 'Malayalam', xlp: 'malayalam'},
mr: { c: 'mr', n: 'Marathi', xlp: 'marathi'},
nl: { c: 'nl', n: 'Dutch', xlp: 'dutch'},
no: { c: 'no', n: 'Norwegian', xlp: 'norsk'},
nn: { c: 'nn', n: 'Norwegian Nynorsk', xlp: 'nynorsk'},
oc: { c: 'oc', n: 'Occitan', xlp: 'occitan'},
pl: { c: 'pl', n: 'Polish', xlp: 'polish'},
pt: { c: 'pt', n: 'Portuguese', xlp: 'portuges'},
pt_BR: { c: 'pt_BR', n: 'Portuguese Brazil', xlp: 'brazilian'},
ro: { c: 'ro', n: 'Romanian', xlp: 'romanian'},
ru: { c: 'ru', n: 'Russian', xlp: 'russian'},
sa: { c: 'sa', n: 'Sanskrit', xlp: 'sanskrit'},
se: { c: 'se', n: 'Sami', xlp: 'samin'},
sk: { c: 'sk', n: 'Slovak', xlp: 'slovak'},
sl: { c: 'sl', n: 'Slovenian', xlp: 'slovenian'},
sq: { c: 'sq', n: 'Albanian', xlp: 'albanian'},
sr: { c: 'sr', n: 'Serbian', xlp: 'serbian'},
sv: { c: 'sv', n: 'Swedish', xlp: 'swedish'},
ta: { c: 'ta', n: 'Tamil', xlp: 'tamil'},
te: { c: 'te', n: 'Telugu', xlp: 'telugu'},
th: { c: 'th', n: 'Thai', xlp: 'thai'},
tk: { c: 'tk', n: 'Turkmen', xlp: 'turkmen'},
tr: { c: 'tr', n: 'Turkish', xlp: 'turkish'},
uk: { c: 'uk', n: 'Ukranian', xlp: 'ukrainian'},
ur: { c: 'ur', n: 'Urdu', xlp: 'urdu'},
us: { c: 'en', n: 'English (American)',xlp: 'english'},
vi: { c: 'vi', n: 'Vietnamese', xlp: 'vietnamese'},
en: { c: 'en', n: 'English', xlp: 'english'},
xx: { c: 'xx', n: 'Default', xlp: 'english'},
}
end
def list
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],
'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],
'en' => table[:en],
'xx' => table[:en]
}
end
self
end
end
end
__END__
Language Lists
* po4a 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]
* 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_text_translation
class Language
def initialize(md)
@md=md
end
def tex_name(char)
@lang=if char
case char
when 'sq'; 'albanian'
when 'am'; 'amharic'
#when 'ar'; 'arabic' # see polyglossia
when 'hy'; 'armenian'
#when ''; 'asturian' # polyglossia
#when ''; 'bahasai' # polyglossia
#when ''; 'bahasam' # polyglossia
when 'eu'; 'basque'
when 'bn'; 'bengali'
when 'pt_BR'; 'brazilian'
when 'br'; 'breton'
when 'bg'; 'bulgarian'
when 'ca'; 'catalan' # see polyglossia
#when ''; 'coptic' # polyglossia
when 'hr'; 'croatian'
when 'cs'; 'czech'
when 'da'; 'danish'
#when ''; 'divehi' # polyglossia
when 'nl'; 'dutch' # see polyglossia
when 'en'; 'english' # see polyglossia
when 'eo'; 'esperanto' # see polyglossia
when 'et'; 'estonian'
when 'gl'; 'galician'
when 'de'; 'german'
when 'el'; 'greek' #gl ?
when 'he'; 'hebrew'
when 'hi'; 'hindi'
when 'is'; 'icelandic'
when 'ia'; 'interlingua'
when 'ga'; 'irish'
when 'it'; 'italian'
#when ''; 'farsi' # polyglossia
when 'fi'; 'finnish'
when 'fr'; 'french'
when 'lo'; 'lao'
when 'la'; 'latin'
when 'lv'; 'latvian'
when 'lt'; 'lithuanian'
#when ''; 'lsorbian' # polyglossia
#when ''; 'magyar' # polyglossia
when 'ml'; 'malayalam'
when 'mr'; 'marathi'
#when 'hu'; 'magyar'
when 'no'; 'norske'
when 'nn'; 'nynorsk'
when 'oc'; 'occitan'
when 'pl'; 'polish'
when 'pt'; 'portuges'
when 'ro'; 'romanian'
when 'ru'; 'russian'
when 'se'; 'samin' #(check sami?)
when 'sa'; 'sanskrit'
when 'sr'; 'serbian'
#when ''; 'scottish' # polyglossia (gd (Gaelic (Scots)))
when 'sk'; 'slovak'
when 'sl'; 'slovenian'
when 'es'; 'spanish'
when 'sv'; 'swedish'
when 'ta'; 'tamil'
when 'te'; 'telugu'
when 'th'; 'thai'
when 'tr'; 'turkish'
when 'tk'; 'turkmen'
when 'uk'; 'ukrainian'
when 'ur'; 'urdu'
#when ''; 'usorbian' # polyglossia
when 'vi'; 'vietnamese'
when 'cy'; 'welsh'
when 'us'; 'USenglish' # depreciated, see iso-639-2
else 'english'
end
else 'english'
end
end
end
end