celsius-primo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +8 -0
  5. data/Gemfile +15 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +51 -0
  8. data/Rakefile +6 -0
  9. data/celsius-primo.gemspec +29 -0
  10. data/lib/celsius/primo/adapter/mget.rb +36 -0
  11. data/lib/celsius/primo/adapter/operation.rb +17 -0
  12. data/lib/celsius/primo/adapter/search.rb +28 -0
  13. data/lib/celsius/primo/adapter.rb +52 -0
  14. data/lib/celsius/primo/locales/de.yml +455 -0
  15. data/lib/celsius/primo/locales/en.yml +207 -0
  16. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/add_sort_by_list.rb +36 -0
  17. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/embed_inner_search_request.rb +12 -0
  18. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/process_ids_queries.rb +29 -0
  19. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/process_match_queries.rb +29 -0
  20. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/process_query_string_queries.rb +37 -0
  21. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/process_range_queries.rb +28 -0
  22. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/serialize_target_as_xml.rb +10 -0
  23. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/set_bulk_size.rb +12 -0
  24. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/set_institution.rb +12 -0
  25. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/set_languages.rb +14 -0
  26. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/set_locations.rb +17 -0
  27. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/set_start_index.rb +12 -0
  28. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/setup_inner_search_request.rb +32 -0
  29. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/setup_target.rb +25 -0
  30. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation.rb +59 -0
  31. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/add_missing_facets.rb +45 -0
  32. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/parse_inner_search_brief_return.rb +23 -0
  33. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/process_facets.rb +29 -0
  34. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/process_records.rb +80 -0
  35. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/remove_bogus_creationdate_facets.rb +15 -0
  36. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/select_only_requested_facets.rb +14 -0
  37. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/set_total_hits.rb +12 -0
  38. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/setup_target_skeleton.rb +17 -0
  39. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/sort_facets_by_search_request.rb +21 -0
  40. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation.rb +59 -0
  41. data/lib/celsius/primo/soap_api/searcher/search_brief.rb +56 -0
  42. data/lib/celsius/primo/soap_api/searcher.rb +14 -0
  43. data/lib/celsius/primo/soap_api.rb +22 -0
  44. data/lib/celsius/primo/version.rb +5 -0
  45. data/lib/celsius/primo.rb +7 -0
  46. data/spec/assets/adapter/mget/mget_request.yml +4 -0
  47. data/spec/assets/adapter/mget/mget_result.yml +407 -0
  48. data/spec/assets/adapter/search/search_request.yml +59 -0
  49. data/spec/assets/adapter/search/search_result.yml +1517 -0
  50. data/spec/cassettes/Celsius_Primo_Adapter/_mget/returns_a_normalzed_mget_result.yml +396 -0
  51. data/spec/cassettes/Celsius_Primo_Adapter/_search/returns_a_normalized_search_result.yml +1169 -0
  52. data/spec/celsius-primo/adapter_spec.rb +56 -0
  53. data/spec/celsius-primo_spec.rb +6 -0
  54. data/spec/spec_helper.rb +55 -0
  55. metadata +255 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 37c4c29f6c4f873b2f929b380362845ba4e513eb
4
+ data.tar.gz: 76af2449733322049f428754700526343f41f56d
5
+ SHA512:
6
+ metadata.gz: a67d06feaed0fa3d26dae68903a9682ebad6f03f2914e9c3dad25f387e0bfdf522e32cfb11269447559f0dcf5dfdc4efb2da42e9d1ffb1a87e0b65c8eddbd83a
7
+ data.tar.gz: 8c56e644babdebd78977da0463d52a3790462678ce05e12b579da6bc9fa6aac95ef1dad6b9faf258ac203f9cbe3b6f99e656206867fc555a01c8e1edf186b3b9
data/.gitignore ADDED
@@ -0,0 +1,22 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.bundle
19
+ *.so
20
+ *.o
21
+ *.a
22
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - "2.0"
4
+ - "2.1"
5
+ - "2.2"
6
+ addons:
7
+ code_climate:
8
+ repo_token: a999fcd17508dad4db657c87561e60a073111b1db3903ee35d8d11c6a76fcd63
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in celsius-primo.gemspec
4
+ gemspec
5
+
6
+ # It's homed here instead of the gemspec, because it's no "real" development dependency
7
+ gem "codeclimate-test-reporter", group: :test, require: nil
8
+
9
+ gem "pry", "~> 0.9.12.6"
10
+ gem "pry-nav", "~> 0.2.3"
11
+ gem "pry-stack_explorer", "~> 0.4.9.1"
12
+ gem "pry-syntax-hacks", "~> 0.0.6"
13
+
14
+ gem "celsius", path: "~/github/ubpb/celsius"
15
+ gem "deep_merger", path: "~/github/ubpb/deep_merger"
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Michael Sievers
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # Celsius::Primo [![Build Status](https://travis-ci.org/ubpb/celsius-primo.svg?branch=master)](https://travis-ci.org/ubpb/celsius-primo) [![Test Coverage](https://codeclimate.com/github/ubpb/celsius-primo/badges/coverage.svg)](https://codeclimate.com/github/ubpb/celsius-primo) [![Code Climate](https://codeclimate.com/github/ubpb/celsius-primo/badges/gpa.svg)](https://codeclimate.com/github/ubpb/celsius-primo)
2
+
3
+ Celsius::Primo aims to provide an adapter layer above various Primo apis. The goal is, to use primo in a way similar to Elasticsearch by translating Elasticsearch requests to Primo requests and vice versa.
4
+
5
+ ## Usage
6
+
7
+ ```ruby
8
+ require "celsius/primo"
9
+
10
+ adapter = Celsius::Primo::Adapter.new({
11
+ institution: "PAD",
12
+ languages: [
13
+ "ger",
14
+ "eng"
15
+ ],
16
+ locations:[
17
+ {
18
+ type: "local",
19
+ value: "scope:(PAD_ALEPH)"
20
+ }
21
+ ],
22
+ soap_api_options: {
23
+ searcher_url: "http://primo.kobv.de/primo_library/libweb/webservices/services/searcher"
24
+ }
25
+ })
26
+
27
+ adapter.search({
28
+ # Elasticsearch style search request
29
+ from: 0,
30
+ size: 20,
31
+ query: {
32
+ bool: {
33
+ must: [
34
+ query_string: {
35
+ default_operator: "AND",
36
+ fields: ["_all"],
37
+ query: "linux"
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ }) # => Elasticsearch style response
43
+ ```
44
+
45
+ ## Contributing
46
+
47
+ 1. Fork it ( https://github.com/[my-github-username]/celsius-primo/fork )
48
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
49
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
50
+ 4. Push to the branch (`git push origin my-new-feature`)
51
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "celsius/primo/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "celsius-primo"
8
+ spec.version = Celsius::Primo::VERSION
9
+ spec.authors = ["Michael Sievers"]
10
+ spec.summary = %q{Generic primo celsius adapter}
11
+ spec.homepage = "https://github.com/ubpb/celsius-primo"
12
+ spec.license = "MIT"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0")
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
18
+
19
+ spec.add_dependency "celsius", ">= 0.4.0"
20
+ spec.add_dependency "httpi", ">= 2.1.0", "< 3.0.0"
21
+ spec.add_dependency "ox", ">= 2.1.0"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.7"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rspec", ">= 3.0.0", "< 4.0.0"
26
+ spec.add_development_dependency "simplecov", ">= 0.8.0"
27
+ spec.add_development_dependency "vcr", ">= 2.9.0", "< 3.0.0"
28
+ spec.add_development_dependency "webmock", ">= 1.19.0", "< 2.0.0"
29
+ end
@@ -0,0 +1,36 @@
1
+ require "celsius/primo/adapter"
2
+ require "celsius/primo/adapter/operation"
3
+
4
+ # Mget is implemented by ordinary searches, because the original "get" of primo
5
+ # does not return the same amount of informations as a "search" for ids.
6
+ #
7
+ # Because searching for to many ids at once might cause trouble, a mget is split
8
+ # up into n searches, to be more easy to digest by primo.
9
+ class Celsius::Primo::Adapter::Mget < Celsius::Primo::Adapter::Operation
10
+ RECORDS_PER_SEARCH = 25
11
+
12
+ def call(mget_request, options = {})
13
+ options = deep_stringify(options)
14
+
15
+ search_results = search_requests_from(mget_request).map do |search_request|
16
+ adapter.search(search_request, return_raw_response: options["return_raw_response"])
17
+ end
18
+
19
+ search_results.inject({"docs" => []}) do |mget_result, search_result|
20
+ mget_result["docs"].concat(search_result["hits"]["hits"])
21
+ return mget_result
22
+ end
23
+ end
24
+
25
+ def search_requests_from(mget_request)
26
+ mget_request["docs"].each_slice(RECORDS_PER_SEARCH).to_a.map.with_index do |array, index|
27
+ {
28
+ from: index * RECORDS_PER_SEARCH,
29
+ size: RECORDS_PER_SEARCH,
30
+ query: {
31
+ ids: array.map { |element| element["_id"] }
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ require "celsius/primo/adapter"
2
+ require "json"
3
+
4
+ class Celsius::Primo::Adapter::Operation
5
+ attr_accessor :adapter
6
+
7
+ def initialize(adapter)
8
+ @adapter = adapter
9
+ end
10
+
11
+ #
12
+ private
13
+ #
14
+ def deep_stringify(obj)
15
+ JSON.parse(JSON.dump(obj), symbolize_names: false)
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ require "celsius/primo/adapter"
2
+ require "celsius/primo/adapter/operation"
3
+
4
+ class Celsius::Primo::Adapter::Search < Celsius::Primo::Adapter::Operation
5
+ def call(search_request, options = {})
6
+ unless search_request.is_a?(Hash)
7
+ raise ArgumentError, "The search request has to be a hash!"
8
+ end
9
+
10
+ options = deep_stringify(options)
11
+
12
+ if(options["languages"] ||= adapter.languages).nil?
13
+ raise ArgumentError, "languages is missing!"
14
+ end
15
+
16
+ if(options["locations"] ||= adapter.locations).nil?
17
+ raise ArgumentError, "locations is missing!"
18
+ end
19
+
20
+ if(options["institution"] ||= adapter.institution).nil?
21
+ raise ArgumentError, "institution is missing!"
22
+ end
23
+
24
+ @adapter.soap_api.searcher.searchBrief search_request, options.merge({
25
+ timeout: options["timeout"] || adapter.timeout
26
+ })
27
+ end
28
+ end
@@ -0,0 +1,52 @@
1
+ require "celsius/adapter"
2
+ require "celsius/primo"
3
+ require "celsius/primo/soap_api"
4
+ require "json"
5
+
6
+ class Celsius::Primo::Adapter < Celsius::Adapter
7
+ require_relative "./adapter/mget"
8
+ require_relative "./adapter/search"
9
+
10
+ attr_accessor :institution
11
+ attr_accessor :languages
12
+ attr_accessor :locations
13
+ attr_accessor :timeout
14
+
15
+ def initialize(options = {})
16
+ super # e.g. load super class locales
17
+
18
+ # add adapter specific locales (see Celsius::I18n)
19
+ self.class.load_locales_from_directory("#{File.dirname(__FILE__)}/locales")
20
+
21
+ # ease options processing by eleminating all symbols
22
+ options = deep_stringify(options)
23
+
24
+ # check for required options
25
+ raise ArgumentError, "soap_api_options are needed!" unless options["soap_api_options"]
26
+
27
+ @institution = options["institution"]
28
+ @languages = options["languages"]
29
+ @locations = options["locations"]
30
+ @soap_api_options = options["soap_api_options"]
31
+ @timeout = options["timeout"]
32
+ end
33
+
34
+ def mget(*args)
35
+ Mget.new(self).call(*args)
36
+ end
37
+
38
+ def search(*args)
39
+ Search.new(self).call(*args)
40
+ end
41
+
42
+ def soap_api
43
+ Celsius::Primo::SoapApi.new(@soap_api_options)
44
+ end
45
+
46
+ #
47
+ private
48
+ #
49
+ def deep_stringify(obj)
50
+ JSON.parse(JSON.dump(obj), symbolize_names: false)
51
+ end
52
+ end
@@ -0,0 +1,455 @@
1
+ de:
2
+ facet_name:
3
+ facet_creator: Autor / Autorin
4
+ facet_lang: Sprache
5
+ facet_rtype: Typ der Ressource
6
+ facet_topic: Schlagwort
7
+ facet_jtitle: Zeitschrift / Reihe
8
+ facet_tlevel: Nur Zeigen
9
+ facet_domain: Quelle
10
+ facet_creationdate: Erscheinungsjahr
11
+
12
+ facet_value:
13
+ facet_lang:
14
+ en: Englisch
15
+ english: Englisch
16
+ und: Nicht definiert
17
+ abk: Abchasisch
18
+ ace: Aceh-Sprache
19
+ ach: Acholi-Sprache
20
+ ada: Adangme-Sprache
21
+ afh: Afrihili
22
+ afr: Afrikaans
23
+ egy: Ägyptisch
24
+ twi: Akan-Sprache
25
+ akk: Akkadisch
26
+ alb: Albanisch
27
+ ale: Aleutisch
28
+ alg: Algonkin-Sprachen
29
+ tut: Altaische Sprachen (Andere)
30
+ gez: Altäthiopisch
31
+ ang: Altenglisch (ca. 450-1100)
32
+ fro: Altfranzösisch (842-ca. 1400)
33
+ goh: Althochdeutsch (ca. 750-1050)
34
+ sga: Altirisch (bis 900)
35
+ non: Altnorwegisch
36
+ peo: Altpersisch (ca. 600-400 v. Chr.)
37
+ pro: Altprovenzalisch (bis 1500)
38
+ amh: Amharisch
39
+ apa: Apachen-Sprache
40
+ ara: Arabisch
41
+ arc: Aramäisch
42
+ arp: Arapaho-Sprache
43
+ arn: Arauka-Sprachen
44
+ arw: Arawak-Sprachen
45
+ arm: Armenisch
46
+ aze: Aserbaidschanisch
47
+ asm: Assamesisch
48
+ ath: Athapaskische Sprachen
49
+ aus: Australische Sprachen
50
+ map: Austronesische Sprachen (Andere)
51
+ ave: Avestisch
52
+ awa: Awadhi
53
+ ava: Awarisch
54
+ aym: Aymara-Sprache
55
+ ind: Bahasa Indonesia
56
+ ban: Balinesisch
57
+ bat: Baltische Sprachen (Andere)
58
+ bam: Bambara-Sprache
59
+ bai: Bamileke-Sprache
60
+ bad: Banda-Sprache (Ubangi-Sprachen)
61
+ bnt: Bantusprachen (Andere)
62
+ bas: Basaa-Sprache
63
+ bak: Baschkirisch
64
+ baq: Baskisch
65
+ btk: Batak-Sprache
66
+ bis: Beach-la-mar
67
+ bej: Bedauye
68
+ bal: Belutschisch
69
+ bem: Bemba-Sprache
70
+ ben: Bengali
71
+ ber: Berbersprachen (Andere)
72
+ bho: Bhojpuri
73
+ bih: Bihari
74
+ bik: Bikol
75
+ bin: Bini-Sprache
76
+ bur: Birmanisch
77
+ bla: Blackfoot-Sprache
78
+ bra: Braj-Bhakha
79
+ bre: Bretonisch
80
+ bug: Bugi-Sprache
81
+ bul: Bulgarisch
82
+ bua: Burjatisch
83
+ cad: Caddo-Sprachen
84
+ ceb: Cebuano
85
+ cha: Chamorro-Sprache
86
+ cmc: Cham-Sprachen
87
+ chr: Cherokee-Sprache
88
+ chy: Cheyenne-Sprache
89
+ chb: Chibcha-Sprachen
90
+ chi: Chinesisch
91
+ chn: Chinook-Jargon
92
+ chp: Chipewyan
93
+ cho: Choctaw-Sprache
94
+ cre: Cree-Sprache
95
+ day: Dajakisch
96
+ dak: Dakota-Sprache
97
+ aar: Danakil-Sprache
98
+ dan: Dänisch
99
+ del: Delaware-Sprache
100
+ ger: Deutsch
101
+ din: Dinka-Sprache
102
+ doi: Dogri
103
+ dgr: Dogrib-Sprache
104
+ dra: Drawidische Sprachen (Andere)
105
+ dua: Duala-Sprachen
106
+ dyu: Dyula-Sprache
107
+ dzo: Dzongkha
108
+ efi: Efik
109
+ eka: Ekajuk
110
+ elx: Elamisch
111
+ tvl: Elliceanisch
112
+ eng: Englisch
113
+ epo: Esperanto
114
+ est: Estnisch
115
+ ewe: Ewe-Sprache
116
+ ewo: Ewondo
117
+ fat: Fanti-Sprache
118
+ fao: Färöisch
119
+ fij: Fidschi-Sprache
120
+ fin: Finnisch
121
+ fiu: Finnougrische Sprachen (Andere)
122
+ fon: Fon-Sprache
123
+ fre: Französisch
124
+ fry: Friesisch
125
+ fur: Friulisch
126
+ ful: Ful
127
+ gaa: Gã
128
+ glg: Galicisch
129
+ gla: Gälisch-Schottisch
130
+ orm: Galla-Sprache
131
+ lug: Ganda-Sprache
132
+ gay: Gayo-Sprache
133
+ gba: Gbaya-Sprache
134
+ geo: Georgisch
135
+ gem: Germanische Sprachen (Andere)
136
+ gil: Gilbertesisch
137
+ gon: Gondi-Sprache
138
+ gor: Gorontalesisch
139
+ got: Gotisch
140
+ grb: Grebo
141
+ grc: Griechisch (bis 1453)
142
+ kal: Grönländisch
143
+ grn: Guaraní-Sprache
144
+ gui: Gujarati-Sprache
145
+ hai: Haida-Sprache
146
+ afa: Hamitosemitische Sprachen (Andere)
147
+ hau: Haussa-Sprache
148
+ haw: Hawaiisch
149
+ heb: Hebräisch
150
+ her: Herero-Sprache
151
+ hit: Hethitisch
152
+ hil: Hiligaynon-Sprache
153
+ him: Himachali
154
+ hin: Hindi
155
+ hmo: Hiri-Motu
156
+ hup: Hupa
157
+ iba: Iban
158
+ ibo: Ibo-Sprache
159
+ ijo: Ijo-Sprache
160
+ ilo: Ilokano-Sprache
161
+ nai: Indianersprachen / Nordamerika (Andere)
162
+ sai: Indianersprachen / Südamerika (Andere)
163
+ cai: Indianersprachen / Zentralamerika (Andere)
164
+ inc: Indoarische Sprachen (Andere)
165
+ ine: Indogermanische Sprachen (Andere)
166
+ ina: Interlingua (IALA)
167
+ ile: Interlingue
168
+ iku: Inuktitut
169
+ ipk: Inupiaq
170
+ ira: Iranische Sprachen (Andere)
171
+ gle: Irisch
172
+ iro: Irokesische Sprachen
173
+ ice: Isländisch
174
+ ita: Italienisch
175
+ sah: Jakutisch
176
+ jpn: Japanisch
177
+ jav: Javanisch
178
+ yid: Jiddisch
179
+ lad: Judenspanisch
180
+ jrb: Jüdisch-Arabisch
181
+ jpr: Jüdisch-Persisch
182
+ kab: Kabylisch
183
+ kac: Kachin-Sprache
184
+ kam: Kamba
185
+ khm: Kambodschanisch
186
+ kan: Kannada
187
+ kau: Kanuri-Sprache
188
+ kaa: Karakalpakisch
189
+ kar: Karenisch
190
+ car: Karibische Sprachen
191
+ kaz: Kasachisch
192
+ kas: Kaschmiri
193
+ cat: Katalanisch
194
+ cau: Kaukasische Sprachen (Andere)
195
+ kaw: Kawi
196
+ cel: Keltische Sprachen (Andere)
197
+ kha: Khasi-Sprache
198
+ khi: Khoisan-Sprachen (Andere)
199
+ mag: Khotta
200
+ kik: Kikuyu-Sprache
201
+ chu: Kirchenslawisch
202
+ kir: Kirgisisch
203
+ kom: Komi-Sprachen
204
+ kon: Kongo
205
+ kok: Konkani
206
+ cop: Koptisch
207
+ kor: Koreanisch
208
+ cor: Kornisch
209
+ cos: Korsisch
210
+ kos: Kosraeanisch
211
+ kpe: Kpelle-Sprache
212
+ crp: Kreolische Sprachen (Andere)
213
+ cpe: Kreolisch-Englisch (Andere)
214
+ cpf: Kreolisch-Französisch (Andere)
215
+ cpp: Kreolisch-Portugiesisch (Andere)
216
+ scr: Kroatisch
217
+ kro: Kru-Sprachen
218
+ kum: Kumükisch
219
+ kur: Kurdisch
220
+ cus: Kuschitische Sprachen (Andere)
221
+ gwi: Kutchin
222
+ kut: Kutenai-Sprache
223
+ kua: Kwanyama
224
+ wie: Kymrisch
225
+ lah: Lahnda
226
+ lam: Lamba
227
+ lao: Laotisch
228
+ lat: Latein
229
+ lez: Lesgisch
230
+ lav: Lettisch
231
+ lin: LiNgala
232
+ lit: Litauisch
233
+ lub: Luba-Sprache
234
+ lui: Luiseño-Sprache
235
+ lua: Lulua-Sprache
236
+ lun: Lunda-Sprache
237
+ luo: Luo-Sprache (Kenia und Tansania)
238
+ lus: Lushai-Sprache
239
+ ltz: Luxemburgisch
240
+ mad: Maduresisch
241
+ mai: Maithili
242
+ mak: Makassarisch
243
+ mac: Makedonisch
244
+ mig: Malagassi-Sprache
245
+ may: Malaiisch
246
+ mal: Malayalam
247
+ div: Maledivisch
248
+ man: Malinke-Sprache
249
+ mit: Maltesisch
250
+ mdr: Mandaresisch
251
+ mno: Manobo-Sprache
252
+ glv: Manx
253
+ mao: Maori-Sprache
254
+ mar: Marathi
255
+ mah: Marschallesisch
256
+ mwr: Marwari
257
+ mas: Massai-Sprache
258
+ myn: Maya-Sprachen
259
+ kmb: Mbundu-Sprache
260
+ umb: Mbundu-Sprache
261
+ mni: Meithei-Sprache
262
+ men: Mende-Sprache
263
+ hmn: Miao-Sprachen
264
+ mic: Micmac-Sprache
265
+ min: Minangkabau-Sprache
266
+ enm: Mittelenglisch (1100-1500)
267
+ frm: Mittelfranzösisch (ca. 1400-1600)
268
+ gmh: Mittelhochdeutsch (ca. 1050-1500)
269
+ mga: Mittelirisch (900-1200)
270
+ dum: Mittelniederländisch (ca. 1050-1350)
271
+ moh: Mohawk-Sprache
272
+ mol: Moldauisch
273
+ mon: Mongolisch
274
+ loi: Mongo-Sprache
275
+ mkh: Mon-Khmer-Sprachen (Andere)
276
+ mos: Mossi-Sprache
277
+ mun: Mundasprachen
278
+ mus: Muskogee-Sprachen
279
+ nah: Nahuatl
280
+ nau: Nauruanisch
281
+ nav: Navajo-Sprache
282
+ nde: Ndebele-Sprache (Nord)
283
+ nbl: Ndebele-Sprache (Süd)
284
+ ndo: Ndonga
285
+ nep: Nepali
286
+ gre: Neugriechisch (nach 1453)
287
+ tpi: Neumelanesisch
288
+ new: Newari
289
+ nia: Nias-Sprache
290
+ dut: Niederländisch
291
+ nic: Nigerkordofanische Sprachen (Andere)
292
+ ssa: Nilosaharanische Sprachen (Andere)
293
+ niu: Niue-Sprache
294
+ nor: Norwegisch
295
+ nub: Nubische Sprachen
296
+ nym: Nyamwezi-Sprache
297
+ nya: Nyanja-Sprache
298
+ nyn: Nyankole
299
+ nyo: Nyoro
300
+ nzi: Nzima-Sprache
301
+ oji: Ojibwa-Sprache
302
+ oci: Okzitanisch (nach 1500)
303
+ kru: Oraon-Sprache
304
+ ori: Oriya-Sprache
305
+ osa: Osage
306
+ ota: Osmanisch
307
+ oss: Ossetisch
308
+ rap: Osterinsel-Sprache
309
+ oto: Otomangue-Sprachen
310
+ pau: Palau
311
+ pli: Pali
312
+ pam: Pampanggan-Sprache
313
+ pan: Pandschabi-Sprache
314
+ pag: Pangasinan-Sprache
315
+ fan: Pangwe-Sprache
316
+ pap: Papiamento
317
+ paa: Papuasprachen (Andere)
318
+ pus: Paschtu
319
+ pal: Pehlewi
320
+ per: Persisch
321
+ phi: Philippinen-Austronesisch (Andere)
322
+ phn: Phönikisch
323
+ pol: Polnisch
324
+ mul: Polyglott
325
+ pon: Ponapeanisch
326
+ por: Portugiesisch
327
+ pra: Prakrit
328
+ que: Quechua-Sprache
329
+ raj: Rajasthani
330
+ rar: Rarotonganisch
331
+ roh: Rätoromanisch
332
+ roa: Romanische Sprachen (Andere)
333
+ loz: Rotse-Sprache
334
+ rum: Rumänisch
335
+ run: Rundi-Sprache
336
+ rus: Russisch
337
+ kin: Rwanda-Sprache
338
+ smi: Saamisch
339
+ kho: Sakisch
340
+ sal: Salish-Sprache
341
+ sam: Samaritanisch
342
+ smo: Samoanisch
343
+ sad: Sandawe-Sprache
344
+ sag: Sango-Sprache
345
+ san: Sanskrit
346
+ sat: Santali
347
+ srd: Sardisch
348
+ sas: Sasak
349
+ shn: Schan-Sprache
350
+ sna: Schona-Sprache
351
+ sco: Schottisch
352
+ swe: Schwedisch
353
+ sel: Selkupisch
354
+ sem: Semitische Sprachen (Andere)
355
+ scc: Serbisch
356
+ srr: Serer-Sprache
357
+ sid: Sidamo
358
+ snd: Sindhi-Sprache
359
+ sin: Singhalesisch
360
+ sit: Sinotibetische Sprachen (Andere)
361
+ sio: Sioux-Sprachen
362
+ den: Slave (Athapaskische Sprachen)
363
+ sla: Slawische Sprachen (Andere)
364
+ slo: Slowakisch
365
+ slv: Slowenisch
366
+ sog: Sogdisch
367
+ som: Somali
368
+ son: Songhai-Sprache
369
+ snk: Soninke-Sprache
370
+ wen: Sorbisch
371
+ nso: Sotho-Sprache (Nord)
372
+ sot: Sotho-Sprache (Süd)
373
+ spa: Spanisch
374
+ suk: Sukuma-Sprache
375
+ sux: Sumerisch
376
+ sun: Sundanesisch
377
+ sus: Susu
378
+ swa: Swahili
379
+ ssw: Swazi
380
+ syr: Syrisch
381
+ tgk: Tadschikisch
382
+ tgl: Tagalog
383
+ tah: Tahitisch
384
+ tmh: Tamašeq
385
+ tam: Tamil
386
+ tat: Tatarisch
387
+ tel: Telugu-Sprache
388
+ tem: Temne
389
+ ter: Tereno-Sprache
390
+ tet: Tetum-Sprache
391
+ tha: Thailändisch
392
+ tai: Thaisprachen (Andere)
393
+ tib: Tibetisch
394
+ tig: Tigre-Sprache
395
+ tir: Tigrinja-Sprache
396
+ tiv: Tiv-Sprache
397
+ tli: Tlingit-Sprache
398
+ tkl: Tokelauanisch
399
+ tog: Tonga (Bantusprache, Malawi)
400
+ ton: Tongaisch
401
+ chk: Trukesisch
402
+ chg: Tschagataisch
403
+ cze: Tschechisch
404
+ chm: Tscheremissisch
405
+ che: Tschetschenisch
406
+ chv: Tschuwaschisch
407
+ tsi: Tsimshian-Sprache
408
+ tso: Tsonga-Sprache
409
+ tsn: Tswana-Sprache
410
+ tum: Tumbuka
411
+ tur: Türkisch
412
+ tuk: Turkmenisch
413
+ tyv: Tuwinisch
414
+ uga: Ugaritisch
415
+ uig: Uigurisch
416
+ ukr: Ukrainisch
417
+ und: Unbestimmt
418
+ hun: Ungarisch
419
+ urd: Urdu
420
+ uzb: Usbekisch
421
+ vai: Vai-Sprache
422
+ ven: Venda-Sprache
423
+ mis: Verschiedene Sprachen
424
+ vie: Vietnamesisch
425
+ vol: Volapük
426
+ aka: Volta-Comoe-Sprachen
427
+ wak: Wakashanisch
428
+ wal: Walamo-Sprache
429
+ war: Waray
430
+ was: Washo-Sprache
431
+ bel: Weißrussisch
432
+ art: Welthilfssprache (Andere)
433
+ wol: Wolof-Sprache
434
+ vot: Wotisch
435
+ xho: Xhosa-Sprache
436
+ yao: Yao-Sprache
437
+ yap: Yapesisch
438
+ yor: Yoruba-Sprache
439
+ ypk: Yupik-Sprache
440
+ znd: Zande-Sprachen
441
+ zap: Zapotekisch
442
+ zen: Zenaga
443
+ zha: Zhuang
444
+ rom: Zigeunersprache
445
+ zuf: Zulu-Sprache
446
+
447
+ facet_tlevel:
448
+ printmedia: Gedruckte Werke
449
+ online_resources: Online-Ressource
450
+ audiovisual: AV-Medien
451
+ peer_reviewed: Geprüft (Peer review)
452
+ cited_articles: Zitierte Artikel
453
+ microform: Mikrofiche
454
+ data_storage: Datenspeicher
455
+ other: Sonstiges