cocina_display 1.1.3 → 1.2.1

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/.standard.yml +1 -1
  4. data/README.md +21 -2
  5. data/config/i18n-tasks.yml +0 -0
  6. data/config/licenses.yml +59 -0
  7. data/config/locales/en.yml +109 -0
  8. data/config/marc_countries.yml +385 -0
  9. data/config/marc_relators.yml +310 -0
  10. data/config/searchworks_languages.yml +520 -0
  11. data/lib/cocina_display/cocina_record.rb +29 -64
  12. data/lib/cocina_display/concerns/accesses.rb +78 -0
  13. data/lib/cocina_display/concerns/contributors.rb +32 -11
  14. data/lib/cocina_display/concerns/events.rb +19 -6
  15. data/lib/cocina_display/concerns/forms.rb +98 -11
  16. data/lib/cocina_display/concerns/geospatial.rb +9 -5
  17. data/lib/cocina_display/concerns/identifiers.rb +25 -5
  18. data/lib/cocina_display/concerns/languages.rb +6 -2
  19. data/lib/cocina_display/concerns/notes.rb +36 -0
  20. data/lib/cocina_display/concerns/related_resources.rb +20 -0
  21. data/lib/cocina_display/concerns/subjects.rb +25 -8
  22. data/lib/cocina_display/concerns/titles.rb +67 -25
  23. data/lib/cocina_display/concerns/{access.rb → url_helpers.rb} +3 -3
  24. data/lib/cocina_display/concerns.rb +6 -0
  25. data/lib/cocina_display/contributors/contributor.rb +47 -26
  26. data/lib/cocina_display/contributors/name.rb +18 -14
  27. data/lib/cocina_display/contributors/role.rb +31 -13
  28. data/lib/cocina_display/dates/date.rb +55 -14
  29. data/lib/cocina_display/dates/date_range.rb +0 -2
  30. data/lib/cocina_display/description/access.rb +41 -0
  31. data/lib/cocina_display/description/access_contact.rb +11 -0
  32. data/lib/cocina_display/description/url.rb +17 -0
  33. data/lib/cocina_display/display_data.rb +104 -0
  34. data/lib/cocina_display/events/event.rb +8 -4
  35. data/lib/cocina_display/events/imprint.rb +0 -10
  36. data/lib/cocina_display/events/location.rb +9 -3
  37. data/lib/cocina_display/events/note.rb +33 -0
  38. data/lib/cocina_display/forms/form.rb +71 -0
  39. data/lib/cocina_display/forms/genre.rb +12 -0
  40. data/lib/cocina_display/forms/resource_type.rb +38 -0
  41. data/lib/cocina_display/geospatial.rb +1 -1
  42. data/lib/cocina_display/identifier.rb +101 -0
  43. data/lib/cocina_display/json_backed_record.rb +27 -0
  44. data/lib/cocina_display/language.rb +18 -12
  45. data/lib/cocina_display/license.rb +32 -0
  46. data/lib/cocina_display/note.rb +103 -0
  47. data/lib/cocina_display/related_resource.rb +74 -0
  48. data/lib/cocina_display/subjects/subject.rb +32 -9
  49. data/lib/cocina_display/subjects/subject_value.rb +34 -16
  50. data/lib/cocina_display/title.rb +221 -0
  51. data/lib/cocina_display/utils.rb +4 -4
  52. data/lib/cocina_display/version.rb +1 -1
  53. data/lib/cocina_display.rb +32 -2
  54. metadata +46 -12
  55. data/lib/cocina_display/title_builder.rb +0 -397
  56. data/lib/cocina_display/vocabularies/marc_country_codes.rb +0 -393
  57. data/lib/cocina_display/vocabularies/marc_relator_codes.rb +0 -318
  58. data/lib/cocina_display/vocabularies/searchworks_languages.rb +0 -526
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3e38973fd7ea8399ce60829b3d11bafaa551c0f87e2bc1ccb49f55463b2c1b9
4
- data.tar.gz: dd1398f2e2176979fdedfede55b9b09f46e42fffad1c7a16d2a4bcc9e9ef0229
3
+ metadata.gz: 949b52c4802fd53d9598d8a8999277d703d55ad371d4f8b4a5843e0831abe8d9
4
+ data.tar.gz: 399e0c067ec059b5cdb0cdeda0c745a05905d53ce155ce172b7e6dd93ff7e0a4
5
5
  SHA512:
6
- metadata.gz: 39fd439e148f6eb1dc58fdec2752519083b627bd102eb8b1f0c40a74e539fdc2799aa6caed446f1142c16ffc59220bccc94f8a1fe7cc846786dc8832ba585310
7
- data.tar.gz: 7a6560028d3f0e75e90ac922fc15b83eeabf393f28eeca4b50a78462278dba9db5e9785a8c8ab4f93a3cabc70ab1f6cf6ce7047a5712f05dd5de8c06d3b2b7e4
6
+ metadata.gz: 657874144a2e8a0d2c2acf7fc6128592e6b69a6487a9ab4c4a45a24e9fa838c832b83e99f3b836932e46474054f33e993299527419f979a6d2d89c269d31a146
7
+ data.tar.gz: ff4a6988d579c7d6fb115e4416a7b26a48f981374ad525f89aeed39c2f335b2e7a0ea54a85e95d8dcfca3967580d8ff3f28c99d8fb270dd6927f3b7e4e2de2b8
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
- --format documentation
2
1
  --color
3
2
  --require spec_helper
data/.standard.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  # For available configuration options, see:
2
2
  # https://github.com/standardrb/standard
3
- ruby_version: 3.1
3
+ ruby_version: 3.3
data/README.md CHANGED
@@ -44,10 +44,10 @@ The `CocinaRecord` class provides some methods to access common fields, as well
44
44
  => "Bugatti Type 51A. Road & Track Salon January 1957"
45
45
  > record.content_type
46
46
  => "image"
47
- > record.iiif_manifest_url
47
+ > record.iiif_manifest_url
48
48
  => "https://purl.stanford.edu/bb112zx3193/iiif3/manifest"
49
49
  # access the hash representation
50
- > record.cocina_doc.dig("description", "contributor", 0, "name", 0, "value")
50
+ > record.cocina_doc.dig("description", "contributor", 0, "name", 0, "value")
51
51
  => "Hearst Magazines, Inc."
52
52
  ```
53
53
 
@@ -92,6 +92,25 @@ cat spec/fixtures/bb112zx3193.json | janeway "$.description.contributor[?@.role[
92
92
 
93
93
  Sometimes you need to determine if records exist "in the wild" that exhibit particular characteristics in the Cocina metadata, like the presence or absence of a field, or a specific value in a field. There is a template script in the `scripts/` directory that can be used to crawl all DRUIDs released to a particular target, like Searchworks, and examine each record.
94
94
 
95
+ Another approach is to examine the records in the `/stacks` share using jq. For example:
96
+
97
+ ```shell
98
+ find /stacks -name cocina.json | head -10000 |
99
+ xargs jq '.description.subject[] | select(.source.uri=="http://id.loc.gov/authorities/subjects/") | select(.value != null) | select(.value | contains("--")) | .value'
100
+ ```
101
+
102
+ ### Logging of errors
103
+
104
+ You may create a custom error handler by implementing the `Honeybadger` interface (or just using Honeybadger) and assigning it to the `CocinaRecord.notifier`.
105
+
106
+ For example:
107
+ ```ruby
108
+ Rails.application.config.to_prepare do
109
+ CocinaDisplay.notifier = Honeybadger
110
+ end
111
+ ```
112
+
113
+
95
114
  ## Development
96
115
 
97
116
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. This is a useful place to try out JSONPath expressions with `CocinaRecord#path`.
File without changes
@@ -0,0 +1,59 @@
1
+ https://www.apache.org/licenses/LICENSE-2.0:
2
+ description: "This work is licensed under an Apache License 2.0."
3
+ https://opensource.org/licenses/BSD-2-Clause:
4
+ description: 'This work is licensed under a BSD 2-Clause "Simplified" License.'
5
+ https://opensource.org/licenses/BSD-3-Clause:
6
+ description: 'This work is licensed under a BSD 3-Clause "New" or "Revised" License.'
7
+ https://creativecommons.org/licenses/by/3.0/legalcode:
8
+ description: "This work is licensed under a Creative Commons Attribution 3.0 Unported license (CC BY)."
9
+ https://creativecommons.org/licenses/by/4.0/legalcode:
10
+ description: "This work is licensed under a Creative Commons Attribution 4.0 International license (CC BY)."
11
+ https://creativecommons.org/licenses/by-nc/3.0/legalcode:
12
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial 3.0 Unported license (CC BY-NC)."
13
+ https://creativecommons.org/licenses/by-nc/4.0/legalcode:
14
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial 4.0 International license (CC BY-NC)."
15
+ https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode:
16
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported license (CC BY-NC-ND)."
17
+ https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode:
18
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial No Derivatives 4.0 International license (CC BY-NC-ND)."
19
+ https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode:
20
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial Share Alike 3.0 Unported license (CC BY-NC-SA)."
21
+ https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode:
22
+ description: "This work is licensed under a Creative Commons Attribution Non Commercial Share Alike 4.0 International license (CC BY-NC-SA)."
23
+ https://creativecommons.org/licenses/by-nd/4.0/legalcode:
24
+ description: "This work is licensed under a Creative Commons Attribution No Derivatives 4.0 International license (CC BY-ND)."
25
+ https://creativecommons.org/licenses/by-sa/3.0/legalcode:
26
+ description: "This work is licensed under a Creative Commons Attribution Share Alike 3.0 Unported license (CC BY-SA)."
27
+ https://creativecommons.org/licenses/by-sa/4.0/legalcode:
28
+ description: "This work is licensed under a Creative Commons Attribution Share Alike 4.0 International license (CC BY-SA)."
29
+ https://creativecommons.org/licenses/by-nd/3.0/legalcode:
30
+ description: "This work is licensed under a Creative Commons Attribution No Derivatives 3.0 Unported license (CC BY-ND)."
31
+ https://creativecommons.org/publicdomain/zero/1.0/legalcode:
32
+ description: "This work is licensed under a Creative Commons Zero v1.0 Universal license (CC0)."
33
+ https://opensource.org/licenses/cddl1:
34
+ description: "This work is licensed under a Common Development and Distribution License 1.0."
35
+ https://www.eclipse.org/legal/epl-2.0:
36
+ description: "This work is licensed under an Eclipse Public License 2.0."
37
+ https://www.gnu.org/licenses/agpl.txt:
38
+ description: "This work is licensed under a GNU Affero General Public License v3.0 only."
39
+ https://www.gnu.org/licenses/gpl-3.0-standalone.html:
40
+ description: "This work is licensed under a GNU General Public License v3.0 only."
41
+ https://www.gnu.org/licenses/lgpl-3.0-standalone.html:
42
+ description: "This work is licensed under a GNU Lesser General Public License v3.0 only."
43
+ https://www.isc.org/downloads/software-support-policy/isc-license/:
44
+ description: "This work is licensed under an ISC License."
45
+ https://opensource.org/licenses/MIT:
46
+ description: "This work is licensed under an MIT License."
47
+ https://www.mozilla.org/MPL/2.0/:
48
+ description: "This work is licensed under a Mozilla Public License 2.0."
49
+ https://opendatacommons.org/licenses/by/1-0/:
50
+ description: "This work is licensed under an Open Data Commons Attribution License v1.0."
51
+ http://opendatacommons.org/licenses/odbl/1.0/:
52
+ # This is a non-canonical url found in some existing data. It redirects to # https://opendatacommons.org/licenses/odbl/1-0/
53
+ description: "This work is licensed under an Open Data Commons Open Database License v1.0."
54
+ https://opendatacommons.org/licenses/odbl/1-0/:
55
+ description: "This work is licensed under an Open Data Commons Open Database License v1.0."
56
+ https://opendatacommons.org/licenses/pddl/1-0/:
57
+ description: "This work is licensed under an Open Data Commons Public Domain Dedication & License 1.0."
58
+ https://creativecommons.org/publicdomain/mark/1.0/:
59
+ description: "This work has been identified as being free of known restrictions under copyright law, including all related and neighboring rights (Public Domain Mark 1.0)."
@@ -0,0 +1,109 @@
1
+ ---
2
+ en:
3
+ cocina_display:
4
+ field_label:
5
+ access:
6
+ access: Location
7
+ email: Contact information
8
+ repository: Repository
9
+ url: Location
10
+ copyright: Copyright
11
+ event:
12
+ date:
13
+ default: "%{type} date"
14
+ untyped: Date
15
+ note:
16
+ default: Imprint note
17
+ edition: Edition
18
+ issuance: Issuance
19
+ form:
20
+ digital_origin: Digital origin
21
+ extent: Extent
22
+ form: Form
23
+ genre: Genre
24
+ map_projection: Map data
25
+ map_scale: Map data
26
+ note: Note
27
+ resource_type: Resource Type
28
+ identifier:
29
+ doi: DOI
30
+ handle: Handle
31
+ identifier: Identifier
32
+ isbn: ISBN
33
+ ismn: ISMN
34
+ isrc: ISRC
35
+ issn: ISSN
36
+ issn_l: ISSN
37
+ issue_number: Issue number
38
+ language: Language
39
+ lccn: LCCN
40
+ matrix_number: Matrix number
41
+ music_plate: Music plate
42
+ music_publisher: Music publisher
43
+ oclc: OCLC
44
+ orcid: ORCID
45
+ sici: SICI
46
+ stock_number: Stock number
47
+ upc: UPC
48
+ videorecording_identifier: Videorecording identifier
49
+ language: Language
50
+ license: License
51
+ note:
52
+ abstract: Abstract
53
+ bibliography: Bibliography
54
+ biographical_historical: Biographical/Historical
55
+ citation_reference: Citation/Reference
56
+ creation_production_credits: Creation/Production credits
57
+ date_sequential_designation: Date/Sequential designation
58
+ note: Note
59
+ preferred_citation: Preferred citation
60
+ publications: Publications
61
+ references: References
62
+ scope_and_content: Scope and content
63
+ statement_of_responsibility: Statement of responsibility
64
+ summary: Summary
65
+ table_of_contents: Table of contents
66
+ purl: Location
67
+ subject:
68
+ bounding_box_coordinates: Map data
69
+ coverage: Map data
70
+ genre: Genre
71
+ map_coordinates: Map data
72
+ point_coordinates: Map data
73
+ subject: Subject
74
+ topic: Subject
75
+ use_and_reproduction: Use and reproduction statement
76
+ related_resource:
77
+ described_by: Described by
78
+ describes: Describes
79
+ derived_from: Derived from
80
+ has_original_version: Has original version
81
+ has_other_format: Has other format
82
+ has_part: Contains
83
+ has_version: Has version
84
+ identical_to: Identical to
85
+ in_series: In series
86
+ other_relation_type: Related to
87
+ part_of: Part of
88
+ preceded_by: Preceded by
89
+ referenced_by: Referenced by
90
+ references: References
91
+ related_to: Related item
92
+ reviewed_by: Reviewed by
93
+ source_of: Source of
94
+ succeeded_by: Succeeded by
95
+ supplemented_by: Supplemented by
96
+ supplement_to: Supplement to
97
+ version_of_record: Version of record
98
+ title:
99
+ title: Title
100
+ abbreviated: Abbreviated title
101
+ alternative: Alternative title
102
+ parallel: Parallel title
103
+ supplied: Supplied title
104
+ translated: Translated title
105
+ transliterated: Transliterated title
106
+ uniform: Uniform title
107
+ contributor:
108
+ role:
109
+ default: Associated with
@@ -0,0 +1,385 @@
1
+ # MARC country codes to country names mapping, adapted from stanford-mods gem.
2
+ # See: http://www.loc.gov/marc/countries/countries_code.html
3
+
4
+ aa: "Albania"
5
+ abc: "Alberta"
6
+ ac: "Ashmore and Cartier Islands" # discontinued
7
+ aca: "Australian Capital Territory"
8
+ ae: "Algeria"
9
+ af: "Afghanistan"
10
+ ag: "Argentina"
11
+ ai: "Armenia (Republic)"
12
+ air: "Armenian S.S.R." # discontinued
13
+ aj: "Azerbaijan"
14
+ ajr: "Azerbaijan S.S.R." # discontinued
15
+ aku: "Alaska"
16
+ alu: "Alabama"
17
+ am: "Anguilla"
18
+ an: "Andorra"
19
+ ao: "Angola"
20
+ aq: "Antigua and Barbuda"
21
+ aru: "Arkansas"
22
+ as: "American Samoa"
23
+ at: "Australia"
24
+ au: "Austria"
25
+ aw: "Aruba"
26
+ ay: "Antarctica"
27
+ azu: "Arizona"
28
+ ba: "Bahrain"
29
+ bb: "Barbados"
30
+ bcc: "British Columbia"
31
+ bd: "Burundi"
32
+ be: "Belgium"
33
+ bf: "Bahamas"
34
+ bg: "Bangladesh"
35
+ bh: "Belize"
36
+ bi: "British Indian Ocean Territory"
37
+ bl: "Brazil"
38
+ bm: "Bermuda Islands"
39
+ bn: "Bosnia and Herzegovina"
40
+ bo: "Bolivia"
41
+ bp: "Solomon Islands"
42
+ br: "Burma"
43
+ bs: "Botswana"
44
+ bt: "Bhutan"
45
+ bu: "Bulgaria"
46
+ bv: "Bouvet Island"
47
+ bw: "Belarus"
48
+ bwr: "Byelorussian S.S.R." # discontinued
49
+ bx: "Brunei"
50
+ ca: "Caribbean Netherlands"
51
+ cau: "California"
52
+ cb: "Cambodia"
53
+ cc: "China"
54
+ cd: "Chad"
55
+ ce: "Sri Lanka"
56
+ cf: "Congo (Brazzaville)"
57
+ cg: "Congo (Democratic Republic)"
58
+ ch: "China (Republic : 1949- )"
59
+ ci: "Croatia"
60
+ cj: "Cayman Islands"
61
+ ck: "Colombia"
62
+ cl: "Chile"
63
+ cm: "Cameroon"
64
+ cn: "Canada" # discontinued
65
+ co: "Curaçao"
66
+ cou: "Colorado"
67
+ cp: "Canton and Enderbury Islands" # discontinued
68
+ cq: "Comoros"
69
+ cr: "Costa Rica"
70
+ cs: "Czechoslovakia" # discontinued
71
+ ctu: "Connecticut"
72
+ cu: "Cuba"
73
+ cv: "Cabo Verde"
74
+ cw: "Cook Islands"
75
+ cx: "Central African Republic"
76
+ cy: "Cyprus"
77
+ cz: "Canal Zone" # discontinued
78
+ dcu: "District of Columbia"
79
+ deu: "Delaware"
80
+ dk: "Denmark"
81
+ dm: "Benin"
82
+ dq: "Dominica"
83
+ dr: "Dominican Republic"
84
+ ea: "Eritrea"
85
+ ec: "Ecuador"
86
+ eg: "Equatorial Guinea"
87
+ em: "Timor-Leste"
88
+ enk: "England"
89
+ er: "Estonia"
90
+ err: "Estonia" # discontinued
91
+ es: "El Salvador"
92
+ et: "Ethiopia"
93
+ fa: "Faroe Islands"
94
+ fg: "French Guiana"
95
+ fi: "Finland"
96
+ fj: "Fiji"
97
+ fk: "Falkland Islands"
98
+ flu: "Florida"
99
+ fm: "Micronesia (Federated States)"
100
+ fp: "French Polynesia"
101
+ fr: "France"
102
+ fs: "Terres australes et antarctiques françaises"
103
+ ft: "Djibouti"
104
+ gau: "Georgia"
105
+ gb: "Kiribati"
106
+ gd: "Grenada"
107
+ ge: "Germany (East)" # discontinued
108
+ gg: "Guernsey"
109
+ gh: "Ghana"
110
+ gi: "Gibraltar"
111
+ gl: "Greenland"
112
+ gm: "Gambia"
113
+ gn: "Gilbert and Ellice Islands" # discontinued
114
+ go: "Gabon"
115
+ gp: "Guadeloupe"
116
+ gr: "Greece"
117
+ gs: "Georgia (Republic)"
118
+ gsr: "Georgian S.S.R." # discontinued
119
+ gt: "Guatemala"
120
+ gu: "Guam"
121
+ gv: "Guinea"
122
+ gw: "Germany"
123
+ gy: "Guyana"
124
+ gz: "Gaza Strip"
125
+ hiu: "Hawaii"
126
+ hk: "Hong Kong" # discontinued
127
+ hm: "Heard and McDonald Islands"
128
+ ho: "Honduras"
129
+ ht: "Haiti"
130
+ hu: "Hungary"
131
+ iau: "Iowa"
132
+ ic: "Iceland"
133
+ idu: "Idaho"
134
+ ie: "Ireland"
135
+ ii: "India"
136
+ ilu: "Illinois"
137
+ im: "Isle of Man"
138
+ inu: "Indiana"
139
+ io: "Indonesia"
140
+ iq: "Iraq"
141
+ ir: "Iran"
142
+ is: "Israel"
143
+ it: "Italy"
144
+ iu: "Israel-Syria Demilitarized Zones" # discontinued
145
+ iv: "Côte d'Ivoire"
146
+ iw: "Israel-Jordan Demilitarized Zones" # discontinued
147
+ iy: "Iraq-Saudi Arabia Neutral Zone"
148
+ ja: "Japan"
149
+ je: "Jersey"
150
+ ji: "Johnston Atoll"
151
+ jm: "Jamaica"
152
+ jn: "Jan Mayen" # discontinued
153
+ jo: "Jordan"
154
+ ke: "Kenya"
155
+ kg: "Kyrgyzstan"
156
+ kgr: "Kirghiz S.S.R." # discontinued
157
+ kn: "Korea (North)"
158
+ ko: "Korea (South)"
159
+ ksu: "Kansas"
160
+ ku: "Kuwait"
161
+ kv: "Kosovo"
162
+ kyu: "Kentucky"
163
+ kz: "Kazakhstan"
164
+ kzr: "Kazakh S.S.R." # discontinued
165
+ lau: "Louisiana"
166
+ lb: "Liberia"
167
+ le: "Lebanon"
168
+ lh: "Liechtenstein"
169
+ li: "Lithuania"
170
+ lir: "Lithuania" # discontinued
171
+ ln: "Central and Southern Line Islands" # discontinued
172
+ lo: "Lesotho"
173
+ ls: "Laos"
174
+ lu: "Luxembourg"
175
+ lv: "Latvia"
176
+ lvr: "Latvia" # discontinued
177
+ ly: "Libya"
178
+ mau: "Massachusetts"
179
+ mbc: "Manitoba"
180
+ mc: "Monaco"
181
+ mdu: "Maryland"
182
+ meu: "Maine"
183
+ mf: "Mauritius"
184
+ mg: "Madagascar"
185
+ mh: "Macao" # discontinued
186
+ miu: "Michigan"
187
+ mj: "Montserrat"
188
+ mk: "Oman"
189
+ ml: "Mali"
190
+ mm: "Malta"
191
+ mnu: "Minnesota"
192
+ mo: "Montenegro"
193
+ mou: "Missouri"
194
+ mp: "Mongolia"
195
+ mq: "Martinique"
196
+ mr: "Morocco"
197
+ msu: "Mississippi"
198
+ mtu: "Montana"
199
+ mu: "Mauritania"
200
+ mv: "Moldova"
201
+ mvr: "Moldavian S.S.R." # discontinued
202
+ mw: "Malawi"
203
+ mx: "Mexico"
204
+ my: "Malaysia"
205
+ mz: "Mozambique"
206
+ na: "Netherlands Antilles" # discontinued
207
+ nbu: "Nebraska"
208
+ ncu: "North Carolina"
209
+ ndu: "North Dakota"
210
+ ne: "Netherlands"
211
+ nfc: "Newfoundland and Labrador"
212
+ ng: "Niger"
213
+ nhu: "New Hampshire"
214
+ nik: "Northern Ireland"
215
+ nju: "New Jersey"
216
+ nkc: "New Brunswick"
217
+ nl: "New Caledonia"
218
+ nm: "Northern Mariana Islands" # discontinued
219
+ nmu: "New Mexico"
220
+ nn: "Vanuatu"
221
+ no: "Norway"
222
+ np: "Nepal"
223
+ nq: "Nicaragua"
224
+ nr: "Nigeria"
225
+ nsc: "Nova Scotia"
226
+ ntc: "Northwest Territories"
227
+ nu: "Nauru"
228
+ nuc: "Nunavut"
229
+ nvu: "Nevada"
230
+ nw: "Northern Mariana Islands"
231
+ nx: "Norfolk Island"
232
+ nyu: "New York (State)"
233
+ nz: "New Zealand"
234
+ ohu: "Ohio"
235
+ oku: "Oklahoma"
236
+ onc: "Ontario"
237
+ oru: "Oregon"
238
+ ot: "Mayotte"
239
+ pau: "Pennsylvania"
240
+ pc: "Pitcairn Island"
241
+ pe: "Peru"
242
+ pf: "Paracel Islands"
243
+ pg: "Guinea-Bissau"
244
+ ph: "Philippines"
245
+ pic: "Prince Edward Island"
246
+ pk: "Pakistan"
247
+ pl: "Poland"
248
+ pn: "Panama"
249
+ po: "Portugal"
250
+ pp: "Papua New Guinea"
251
+ pr: "Puerto Rico"
252
+ pt: "Portuguese Timor" # discontinued
253
+ pw: "Palau"
254
+ py: "Paraguay"
255
+ qa: "Qatar"
256
+ qea: "Queensland"
257
+ quc: "Québec (Province)"
258
+ rb: "Serbia"
259
+ re: "Réunion"
260
+ rh: "Zimbabwe"
261
+ riu: "Rhode Island"
262
+ rm: "Romania"
263
+ ru: "Russia (Federation)"
264
+ # rur: "Russian S.F.S.R." # discontinued
265
+ rw: "Rwanda"
266
+ # ry: "Ryukyu Islands, Southern" # discontinued
267
+ sa: "South Africa"
268
+ # sb: "Svalbard" # discontinued
269
+ sc: "Saint-Barthélemy"
270
+ scu: "South Carolina"
271
+ sd: "South Sudan"
272
+ sdu: "South Dakota"
273
+ se: "Seychelles"
274
+ sf: "Sao Tome and Principe"
275
+ sg: "Senegal"
276
+ sh: "Spanish North Africa"
277
+ si: "Singapore"
278
+ sj: "Sudan"
279
+ # sk: "Sikkim" # discontinued
280
+ sl: "Sierra Leone"
281
+ sm: "San Marino"
282
+ sn: "Sint Maarten"
283
+ snc: "Saskatchewan"
284
+ so: "Somalia"
285
+ sp: "Spain"
286
+ sq: "Eswatini"
287
+ sr: "Surinam"
288
+ ss: "Western Sahara"
289
+ st: "Saint-Martin"
290
+ stk: "Scotland"
291
+ su: "Saudi Arabia"
292
+ sv: "Swan Islands" # discontinued
293
+ sw: "Sweden"
294
+ sx: "Namibia"
295
+ sy: "Syria"
296
+ sz: "Switzerland"
297
+ ta: "Tajikistan"
298
+ tar: "Tajik S.S.R." # discontinued
299
+ tc: "Turks and Caicos Islands"
300
+ tg: "Togo"
301
+ th: "Thailand"
302
+ ti: "Tunisia"
303
+ tk: "Turkmenistan"
304
+ tkr: "Turkmen S.S.R." # discontinued
305
+ tl: "Tokelau"
306
+ tma: "Tasmania"
307
+ tnu: "Tennessee"
308
+ to: "Tonga"
309
+ tr: "Trinidad and Tobago"
310
+ ts: "United Arab Emirates"
311
+ tt: "Trust Territory of the Pacific Islands" # discontinued
312
+ tu: "Turkey"
313
+ tv: "Tuvalu"
314
+ txu: "Texas"
315
+ tz: "Tanzania"
316
+ ua: "Egypt"
317
+ uc: "United States Misc. Caribbean Islands"
318
+ ug: "Uganda"
319
+ ui: "United Kingdom Misc. Islands" # discontinued
320
+ uik: "United Kingdom Misc. Islands"
321
+ uk: "United Kingdom" # discontinued
322
+ un: "Ukraine"
323
+ unr: "Ukraine" # discontinued
324
+ up: "United States Misc. Pacific Islands"
325
+ ur: "Soviet Union" # discontinued
326
+ us: "United States" # discontinued
327
+ utu: "Utah"
328
+ uv: "Burkina Faso"
329
+ uy: "Uruguay"
330
+ uz: "Uzbekistan"
331
+ uzr: "Uzbek S.S.R." # discontinued
332
+ vau: "Virginia"
333
+ vb: "British Virgin Islands"
334
+ vc: "Vatican City"
335
+ ve: "Venezuela"
336
+ vi: "Virgin Islands of the United States"
337
+ vm: "Vietnam"
338
+ vn: "Vietnam, North" # discontinued
339
+ vp: "Various places"
340
+ vra: "Victoria"
341
+ vs: "Vietnam, South" # discontinued
342
+ vtu: "Vermont"
343
+ wau: "Washington (State)"
344
+ wb: "West Berlin" # discontinued
345
+ wea: "Western Australia"
346
+ wf: "Wallis and Futuna"
347
+ wiu: "Wisconsin"
348
+ wj: "West Bank of the Jordan River"
349
+ wk: "Wake Island"
350
+ wlk: "Wales"
351
+ ws: "Samoa"
352
+ wvu: "West Virginia"
353
+ wyu: "Wyoming"
354
+ xa: "Christmas Island (Indian Ocean)"
355
+ xb: "Cocos (Keeling) Islands"
356
+ xc: "Maldives"
357
+ xd: "Saint Kitts-Nevis"
358
+ xe: "Marshall Islands"
359
+ xf: "Midway Islands"
360
+ xga: "Coral Sea Islands Territory"
361
+ xh: "Niue"
362
+ xi: "Saint Kitts-Nevis-Anguilla" # discontinued
363
+ xj: "Saint Helena"
364
+ xk: "Saint Lucia"
365
+ xl: "Saint Pierre and Miquelon"
366
+ xm: "Saint Vincent and the Grenadines"
367
+ xn: "North Macedonia"
368
+ xna: "New South Wales"
369
+ xo: "Slovakia"
370
+ xoa: "Northern Territory"
371
+ xp: "Spratly Island"
372
+ xr: "Czech Republic"
373
+ xra: "South Australia"
374
+ xs: "South Georgia and the South Sandwich Islands"
375
+ xv: "Slovenia"
376
+ xx: "No place, unknown, or undetermined"
377
+ xxc: "Canada"
378
+ xxk: "United Kingdom"
379
+ xxr: "Soviet Union" # discontinued
380
+ xxu: "United States"
381
+ ye: "Yemen"
382
+ ykc: "Yukon Territory"
383
+ ys: "Yemen (People's Democratic Republic)" # discontinued
384
+ yu: "Serbia and Montenegro" # discontinued
385
+ za: "Zambia"