Changeset 2001


Ignore:
Timestamp:
2001-02-19T09:37:43+13:00 (23 years ago)
Author:
sjboddie
Message:

Added a hack that mysteriously converts iso639 language codes appearing
in formatstrings to the English name of the language (i.e. Language
metadata is now treated as a special case much like Date is).

Location:
trunk/gsdl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify/AZList.pm

    r1839 r2001  
    3636use BasClas;
    3737use sorttools;
     38use iso639;
    3839
    3940sub BEGIN {
     
    102103    # sorting by we won't include it in this classification
    103104    if (defined $metavalue && $metavalue ne "") {
    104     if ($self->{'metaname'} eq 'Creator') {
     105    if ($self->{'metaname'} eq 'Language') {
     106        $metavalue = $iso639::fromiso639{$metavalue};
     107    } elsif ($self->{'metaname'} eq 'Creator') {
    105108        &sorttools::format_string_name_english (\$metavalue);
    106109    } else {
  • trunk/gsdl/src/recpt/formattools.cpp

    r1963 r2001  
    173173
    174174
     175// converts an iso639 language code to its English equivalent
     176// I realize that this isn't the pretiest or most efficient implementation,
     177// hopefully this ugly Language (and Date too) formatting won't survive to
     178// see gsdl-3.0
     179text_t iso639 (const text_t &langcode) {
     180
     181  if (langcode == "aa") return "Afar";
     182  if (langcode == "ab") return "Abkhazian";
     183  if (langcode == "af") return "Afrikaans";
     184  if (langcode == "am") return "Amharic";
     185  if (langcode == "ar") return "Arabic";
     186  if (langcode == "as") return "Assamese";
     187  if (langcode == "ay") return "Aymara";
     188  if (langcode == "az") return "Azerbaijani";
     189 
     190  if (langcode == "ba") return "Bashkir";
     191  if (langcode == "be") return "Byelorussian";
     192  if (langcode == "bg") return "Bulgarian";
     193  if (langcode == "bh") return "Bihari";
     194  if (langcode == "bi") return "Bislama";
     195  if (langcode == "bn") return "Bengali; Bangla";
     196  if (langcode == "bo") return "Tibetan";
     197  if (langcode == "br") return "Breton";
     198 
     199  if (langcode == "ca") return "Catalan";
     200  if (langcode == "co") return "Corsican";
     201  if (langcode == "cs") return "Czech";
     202  if (langcode == "cy") return "Welsh";
     203 
     204  if (langcode == "da") return "Danish";
     205  if (langcode == "de") return "German";
     206  if (langcode == "dz") return "Bhutani";
     207 
     208  if (langcode == "el") return "Greek";
     209  if (langcode == "en") return "English";
     210  if (langcode == "eo") return "Esperanto";
     211  if (langcode == "es") return "Spanish";
     212  if (langcode == "et") return "Estonian";
     213  if (langcode == "eu") return "Basque";
     214 
     215  if (langcode == "fa") return "Persian";
     216  if (langcode == "fi") return "Finnish";
     217  if (langcode == "fj") return "Fiji";
     218  if (langcode == "fo") return "Faroese";
     219  if (langcode == "fr") return "French";
     220  if (langcode == "fy") return "Frisian";
     221 
     222  if (langcode == "ga") return "Irish";
     223  if (langcode == "gd") return "Scots Gaelic";
     224  if (langcode == "gl") return "Galician";
     225  if (langcode == "gn") return "Guarani";
     226  if (langcode == "gu") return "Gujarati";
     227 
     228  if (langcode == "ha") return "Hausa";
     229  if (langcode == "hi") return "Hindi";
     230  if (langcode == "hr") return "Croatian";
     231  if (langcode == "hu") return "Hungarian";
     232  if (langcode == "hy") return "Armenian";
     233 
     234  if (langcode == "ia") return "Interlingua";
     235  if (langcode == "ie") return "Interlingue";
     236  if (langcode == "ik") return "Inupiak";
     237  if (langcode == "in") return "Indonesian";
     238  if (langcode == "is") return "Icelandic";
     239  if (langcode == "it") return "Italian";
     240  if (langcode == "iw") return "Hebrew";
     241 
     242  if (langcode == "ja") return "Japanese";
     243  if (langcode == "ji") return "Yiddish";
     244  if (langcode == "jw") return "Javanese";
     245 
     246  if (langcode == "ka") return "Georgian";
     247  if (langcode == "kk") return "Kazakh";
     248  if (langcode == "kl") return "Greenlandic";
     249  if (langcode == "km") return "Cambodian";
     250  if (langcode == "kn") return "Kannada";
     251  if (langcode == "ko") return "Korean";
     252  if (langcode == "ks") return "Kashmiri";
     253  if (langcode == "ku") return "Kurdish";
     254  if (langcode == "ky") return "Kirghiz";
     255 
     256  if (langcode == "la") return "Latin";
     257  if (langcode == "ln") return "Lingala";
     258  if (langcode == "lo") return "Laothian";
     259  if (langcode == "lt") return "Lithuanian";
     260  if (langcode == "lv") return "Latvian, Lettish";
     261 
     262  if (langcode == "mg") return "Malagasy";
     263  if (langcode == "mi") return "Maori";
     264  if (langcode == "mk") return "Macedonian";
     265  if (langcode == "ml") return "Malayalam";
     266  if (langcode == "mn") return "Mongolian";
     267  if (langcode == "mo") return "Moldavian";
     268  if (langcode == "mr") return "Marathi";
     269  if (langcode == "ms") return "Malay";
     270  if (langcode == "mt") return "Maltese";
     271  if (langcode == "my") return "Burmese";
     272 
     273  if (langcode == "na") return "Nauru";
     274  if (langcode == "ne") return "Nepali";
     275  if (langcode == "nl") return "Dutch";
     276  if (langcode == "no") return "Norwegian";
     277 
     278  if (langcode == "oc") return "Occitan";
     279  if (langcode == "om") return "(Afan) Oromo";
     280  if (langcode == "or") return "Oriya";
     281 
     282  if (langcode == "pa") return "Punjabi";
     283  if (langcode == "pl") return "Polish";
     284  if (langcode == "ps") return "Pashto, Pushto";
     285  if (langcode == "pt") return "Portuguese";
     286 
     287  if (langcode == "qu") return "Quechua";
     288  if (langcode == "rm") return "Rhaeto-Romance";
     289  if (langcode == "rn") return "Kirundi";
     290  if (langcode == "ro") return "Romanian";
     291  if (langcode == "ru") return "Russian";
     292  if (langcode == "rw") return "Kinyarwanda";
     293 
     294  if (langcode == "sa") return "Sanskrit";
     295  if (langcode == "sd") return "Sindhi";
     296  if (langcode == "sg") return "Sangro";
     297  if (langcode == "sh") return "Serbo-Croatian";
     298  if (langcode == "si") return "Singhalese";
     299  if (langcode == "sk") return "Slovak";
     300  if (langcode == "sl") return "Slovenian";
     301  if (langcode == "sm") return "Samoan";
     302  if (langcode == "sn") return "Shona";
     303  if (langcode == "so") return "Somali";
     304  if (langcode == "sq") return "Albanian";
     305  if (langcode == "sr") return "Serbian";
     306  if (langcode == "ss") return "Siswati";
     307  if (langcode == "st") return "Sesotho";
     308  if (langcode == "su") return "Sudanese";
     309  if (langcode == "sv") return "Swedish";
     310  if (langcode == "sw") return "Swahili";
     311 
     312  if (langcode == "ta") return "Tamil";
     313  if (langcode == "te") return "Tegulu";
     314  if (langcode == "tg") return "Tajik";
     315  if (langcode == "th") return "Thai";
     316  if (langcode == "ti") return "Tigrinya";
     317  if (langcode == "tk") return "Turkmen";
     318  if (langcode == "tl") return "Tagalog";
     319  if (langcode == "tn") return "Setswana";
     320  if (langcode == "to") return "Tonga";
     321  if (langcode == "tr") return "Turkish";
     322  if (langcode == "ts") return "Tsonga";
     323  if (langcode == "tt") return "Tatar";
     324  if (langcode == "tw") return "Twi";
     325 
     326  if (langcode == "uk") return "Ukrainian";
     327  if (langcode == "ur") return "Urdu";
     328  if (langcode == "uz") return "Uzbek";
     329 
     330  if (langcode == "vi") return "Vietnamese";
     331  if (langcode == "vo") return "Volapuk";
     332 
     333  if (langcode == "wo") return "Wolof";
     334 
     335  if (langcode == "xh") return "Xhosa";
     336 
     337  if (langcode == "yo") return "Yoruba";
     338 
     339  if (langcode == "zh") return "Chinese";
     340  if (langcode == "zu") return "Zulu";
     341  return "";
     342}
    175343
    176344//this function gets the information associated with the relation
     
    610778      if (meta.metaname == "Date")
    611779    return format_date (metadata_item);
     780      else if (meta.metaname == "Language")
     781    return iso639(metadata_item);
    612782      if (meta.metacommand == mCgiSafe)
    613783    return cgi_safe (metadata_item);
  • trunk/gsdl/src/recpt/formattools.h

    r1941 r2001  
    106106text_t format_date (const text_t &date);
    107107
     108text_t iso639 (const text_t &langcode);
    108109
    109110text_t get_related_docs(const text_t& collection, recptproto* collectproto,
Note: See TracChangeset for help on using the changeset viewer.