From 3be8c8cfed5ad64d185af9ee4ecad59f674301da Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Fri, 9 Mar 2018 11:05:52 +0200 Subject: [PATCH] Bug 20364: Show languages from MARC21 field 041 in intranet Show the language names coded in field 041, in intranet search results and in detail view. Test plan: 1) Apply patch 2) Do a search, and check the results look correct 3) Check some biblio detail pages that they look correct 4) Add some 041 subfields (a, b, d, h, j) in any combinations 5) Repeat 2 and 3 Signed-off-by: Pasi Kallinen --- .../intranet-tmpl/prog/en/xslt/MARC21Languages.xsl | 498 +++++++++++++++++++++ .../prog/en/xslt/MARC21slim2intranetDetail.xsl | 1 + .../prog/en/xslt/MARC21slim2intranetResults.xsl | 2 + .../intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl | 52 +++ misc/maintenance/generate_MARC21Languages.pl | 117 +++++ 5 files changed, 670 insertions(+) create mode 100644 koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21Languages.xsl create mode 100755 misc/maintenance/generate_MARC21Languages.pl diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21Languages.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21Languages.xsl new file mode 100644 index 0000000000..a0889a49f1 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21Languages.xsl @@ -0,0 +1,498 @@ + +]> + + + + + + Abkhaz + Achinese + Acoli + Adangme + Adygei + Afar + Afrihili (Artificial language) + Afrikaans + Afroasiatic (Other) + Ainu + Akan + Akkadian + Albanian + Aleut + Algonquian (Other) + Altai + Altaic (Other) + Amharic + Angika + Apache languages + Arabic + Aragonese + Aramaic + Arapaho + Arawak + Armenian + Aromanian + Artificial (Other) + Assamese + Athapascan (Other) + Australian languages + Austronesian (Other) + Avaric + Avestan + Awadhi + Aymara + Azerbaijani + Bable + Balinese + Baltic (Other) + Baluchi + Bambara + Bamileke languages + Banda languages + Bantu (Other) + Basa + Bashkir + Basque + Batak + Beja + Belarusian + Bemba + Bengali + Berber (Other) + Bhojpuri + Bihari (Other) + Bikol + Bilin + Bislama + Blissymbolics + Bosnian + Braj + Breton + Bugis + Bulgarian + Buriat + Burmese + Caddo + Carib + Catalan + Caucasian (Other) + Cebuano + Celtic (Other) + Central American Indian (Other) + Chagatai + Chamic languages + Chamorro + Chechen + Cherokee + Cheyenne + Chibcha + Chinese + Chinook jargon + Chipewyan + Choctaw + Church Slavic + Chuukese + Chuvash + Coptic + Cornish + Corsican + Cree + Creek + Creoles and Pidgins (Other) + Creoles and Pidgins, English-based (Other) + Creoles and Pidgins, French-based (Other) + Creoles and Pidgins, Portuguese-based (Other) + Crimean Tatar + Croatian + Cushitic (Other) + Czech + Dakota + Danish + Dargwa + Dayak + Delaware + Dinka + Divehi + Dogri + Dogrib + Dravidian (Other) + Duala + Dutch + Dutch, Middle (ca. 1050-1350) + Dyula + Dzongkha + East Frisian + Edo + Efik + Egyptian + Ekajuk + Elamite + English + English, Middle (1100-1500) + English, Old (ca. 450-1100) + Erzya + Esperanto + Estonian + Ethiopic + Ewe + Ewondo + Fang + Fanti + Faroese + Fijian + Filipino + Finnish + Finno-Ugrian (Other) + Fon + French + French, Middle (ca. 1300-1600) + French, Old (ca. 842-1300) + Frisian + Friulian + Fula + + Galician + Ganda + Gayo + Gbaya + Georgian + German + German, Middle High (ca. 1050-1500) + German, Old High (ca. 750-1050) + Germanic (Other) + Gilbertese + Gondi + Gorontalo + Gothic + Grebo + Greek, Ancient (to 1453) + Greek, Modern (1453- ) + Guarani + Gujarati + Gwich'in + Haida + Haitian French Creole + Hausa + Hawaiian + Hebrew + Herero + Hiligaynon + Hindi + Hiri Motu + Hittite + Hmong + Hungarian + Hupa + Iban + Icelandic + Ido + Igbo + Ijo + Iloko + Inari Sami + Indic (Other) + Indo-European (Other) + Indonesian + Ingush + Interlingua (International Auxiliary Language Association) + Interlingue + Inuktitut + Inupiaq + Iranian (Other) + Irish + Irish, Middle (ca. 1100-1550) + Irish, Old (to 1100) + Iroquoian (Other) + Italian + Japanese + Javanese + Judeo-Arabic + Judeo-Persian + Kabardian + Kabyle + Kachin + Kalâtdlisut + Kamba + Kannada + Kanuri + Karachay-Balkar + Kara-Kalpak + Karelian + Karen languages + Kashmiri + Kashubian + Kawi + Kazakh + Khasi + Khmer + Khoisan (Other) + Khotanese + Kikuyu + Kimbundu + Kinyarwanda + Klingon (Artificial language) + Komi + Kongo + Konkani + Kootenai + Korean + Kosraean + Kpelle + Kru (Other) + Kuanyama + Kumyk + Kurdish + Kurukh + Kyrgyz + Ladino + Lahndā + Lamba (Zambia and Congo) + Lao + Latin + Latvian + Lezgian + Limburgish + Lingala + Lithuanian + Lojban (Artificial language) + Low German + Lower Sorbian + Lozi + Luba-Katanga + Luba-Lulua + Luiseño + Lule Sami + Lunda + Luo (Kenya and Tanzania) + Lushai + Luxembourgish + Macedonian + Madurese + Magahi + Maithili + Makasar + Malagasy + Malay + Malayalam + Maltese + Manchu + Mandar + Mandingo + Manipuri + Manobo languages + Manx + Maori + Mapuche + Marathi + Mari + Marshallese + Marwari + Maasai + Mayan languages + Mende + Micmac + Minangkabau + Mirandese + Miscellaneous languages + Mohawk + Moksha + Mon-Khmer (Other) + Mongo-Nkundu + Mongolian + Montenegrin + Mooré + Multiple languages + Munda (Other) + Nahuatl + Nauru + Navajo + Ndebele (South Africa) + Ndebele (Zimbabwe) + Ndonga + Neapolitan Italian + Nepali + Newari + Newari, Old + Nias + Niger-Kordofanian (Other) + Nilo-Saharan (Other) + Niuean + N'Ko + Nogai + No linguistic content + North American Indian (Other) + North Frisian + Northern Sami + Northern Sotho + Norwegian + Norwegian (Bokmål) + Norwegian (Nynorsk) + Nubian languages + Nyamwezi + Nyanja + Nyankole + Nyoro + Nzima + Occitan (post-1500) + Oirat + Ojibwa + Old Norse + Old Persian (ca. 600-400 B.C.) + Oriya + Oromo + Osage + Ossetic + Otomian languages + Pahlavi + Palauan + Pali + Pampanga + Pangasinan + Panjabi + Papiamento + Papuan (Other) + Persian + Philippine (Other) + Phoenician + Pohnpeian + Polish + Portuguese + Prakrit languages + Provençal (to 1500) + Pushto + Quechua + Raeto-Romance + Rajasthani + Rapanui + Rarotongan + Romance (Other) + Romani + Romanian + Rundi + Russian + Salishan languages + Samaritan Aramaic + Sami + Samoan + Sandawe + Sango (Ubangi Creole) + Sanskrit + Santali + Sardinian + Sasak + Scots + Scottish Gaelic + Selkup + Semitic (Other) + Serbian + Serer + Shan + Shona + Sichuan Yi + Sicilian Italian + Sidamo + Sign languages + Siksika + Sindhi + Sinhalese + Sino-Tibetan (Other) + Siouan (Other) + Skolt Sami + Slavey + Slavic (Other) + Slovak + Slovenian + Sogdian + Somali + Songhai + Soninke + Sorbian (Other) + Sotho + South American Indian (Other) + Southern Sami + Spanish + Sranan + Sukuma + Sumerian + Sundanese + Susu + Swahili + Swazi + Swedish + Swiss German + Syriac + Syriac, Modern + Tagalog + Tahitian + Tai (Other) + Tajik + Tamashek + Tamil + Tatar + Telugu + Temne + Terena + Tetum + Thai + Tibetan + Tigré + Tigrinya + Tiv + Tlingit + Tok Pisin + Tokelauan + Tonga (Nyasa) + Tongan + Tsimshian + Tsonga + Tswana + Tumbuka + Tupi languages + Turkish + Turkish, Ottoman + Turkmen + Tuvaluan + Tuvinian + Twi + Udmurt + Ugaritic + Uighur + Ukrainian + Umbundu + Undetermined + Upper Sorbian + Urdu + Uzbek + Vai + Venda + Vietnamese + Volapük + Votic + Wakashan languages + Walloon + Waray + Washoe + Welsh + Western Pahari languages + Wolayta + Wolof + Xhosa + Yakut + Yao (Africa) + Yapese + Yiddish + Yoruba + Yupik languages + Zande languages + Zapotec + Zaza + Zenaga + Zhuang + Zulu + Zuni + + Unknown language code + + + + diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl index b699341bc4..6310322001 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl @@ -171,6 +171,7 @@ + diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl index 0e8ebd6d31..ab758a8e80 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl @@ -824,6 +824,8 @@ + + diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl index 192107b280..c550957606 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl +++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl @@ -1,6 +1,7 @@ ]> + @@ -298,6 +299,57 @@ + + + + + + + Language: + + + + Summary language: + + + + Spoken language: + + + + Original language: + + + + Subtitle language: + + + + + + + + + + + + + + + lang_code- + + + + + , + + + + . + + + + + + + +HEADER + +foreach my $l (@{$languages}) { + my $code = $l->{'code'}; + my $name = (ref($l->{'name'}) eq 'HASH' ? $l->{'name'}{'content'} : $l->{'name'}); + next if (ref($code) eq 'HASH' && $code->{'status'} eq 'obsolete'); + print OUT " "; + print OUT "$name"; + print OUT ""; + print OUT "\n"; +} + +print OUT < + Unknown language code + + + + +FOOTER + +=head1 NAME + +generate_MARC21Languages.pl + +=head1 SYNOPSIS + + generate_MARC21Languages.pl + generate_MARC21Languages.pl --url='http://www.loc.gov/standards/codelists/languages.xml' + +=head1 DESCRIPTION + +Create MARC21Languages.xsl from the loc.gov MARC21 Code List for Languages + +=over 8 + +=item B<--help> + +Prints this help + +=item B<--url> + +Fetch the languages XML from this url. Defaults to http://www.loc.gov/standards/codelists/languages.xml + +=item B<--output> + +Writes the output XML into this file. Defaults to STDOUT. + +=back + +=cut -- 2.11.0