# 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 @@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' }, 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' }, 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], '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