celsius-primo 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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