citeproc-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. data/README.md +78 -0
  2. data/lib/citeproc.rb +100 -0
  3. data/lib/citeproc/bibliography.rb +57 -0
  4. data/lib/citeproc/data.rb +149 -0
  5. data/lib/citeproc/date.rb +133 -0
  6. data/lib/citeproc/formatter.rb +38 -0
  7. data/lib/citeproc/item.rb +53 -0
  8. data/lib/citeproc/name.rb +284 -0
  9. data/lib/citeproc/processor.rb +166 -0
  10. data/lib/citeproc/selector.rb +61 -0
  11. data/lib/citeproc/variable.rb +82 -0
  12. data/lib/citeproc/version.rb +3 -0
  13. data/lib/csl/locale.rb +223 -0
  14. data/lib/csl/node.rb +72 -0
  15. data/lib/csl/nodes.rb +1364 -0
  16. data/lib/csl/renderer.rb +88 -0
  17. data/lib/csl/sort.rb +53 -0
  18. data/lib/csl/style.rb +110 -0
  19. data/lib/csl/term.rb +124 -0
  20. data/lib/extensions/core.rb +43 -0
  21. data/lib/plugins/filters/bibtex.rb +12 -0
  22. data/lib/plugins/formats/default.rb +134 -0
  23. data/lib/plugins/formats/html.rb +67 -0
  24. data/lib/support/attributes.rb +99 -0
  25. data/lib/support/tree.rb +80 -0
  26. data/resource/locale/locales-af-ZA.xml +304 -0
  27. data/resource/locale/locales-ar-AR.xml +304 -0
  28. data/resource/locale/locales-bg-BG.xml +304 -0
  29. data/resource/locale/locales-ca-AD.xml +304 -0
  30. data/resource/locale/locales-cs-CZ.xml +304 -0
  31. data/resource/locale/locales-da-DK.xml +304 -0
  32. data/resource/locale/locales-de-AT.xml +304 -0
  33. data/resource/locale/locales-de-CH.xml +304 -0
  34. data/resource/locale/locales-de-DE.xml +332 -0
  35. data/resource/locale/locales-el-GR.xml +303 -0
  36. data/resource/locale/locales-en-US.xml +313 -0
  37. data/resource/locale/locales-es-ES.xml +304 -0
  38. data/resource/locale/locales-et-EE.xml +304 -0
  39. data/resource/locale/locales-fr-FR.xml +304 -0
  40. data/resource/locale/locales-he-IL.xml +304 -0
  41. data/resource/locale/locales-hu-HU.xml +304 -0
  42. data/resource/locale/locales-is-IS.xml +304 -0
  43. data/resource/locale/locales-it-IT.xml +304 -0
  44. data/resource/locale/locales-ja-JP.xml +304 -0
  45. data/resource/locale/locales-kh-KH.xml +303 -0
  46. data/resource/locale/locales-ko-KR.xml +304 -0
  47. data/resource/locale/locales-mn-MN.xml +304 -0
  48. data/resource/locale/locales-nb-NO.xml +304 -0
  49. data/resource/locale/locales-nl-NL.xml +304 -0
  50. data/resource/locale/locales-nn-NO.xml +304 -0
  51. data/resource/locale/locales-pl-PL.xml +304 -0
  52. data/resource/locale/locales-pt-BR.xml +304 -0
  53. data/resource/locale/locales-pt-PT.xml +304 -0
  54. data/resource/locale/locales-ro-RO.xml +304 -0
  55. data/resource/locale/locales-ru-RU.xml +304 -0
  56. data/resource/locale/locales-sk-SK.xml +304 -0
  57. data/resource/locale/locales-sl-SI.xml +304 -0
  58. data/resource/locale/locales-sr-RS.xml +304 -0
  59. data/resource/locale/locales-sv-SE.xml +304 -0
  60. data/resource/locale/locales-th-TH.xml +304 -0
  61. data/resource/locale/locales-tr-TR.xml +304 -0
  62. data/resource/locale/locales-uk-UA.xml +304 -0
  63. data/resource/locale/locales-vi-VN.xml +304 -0
  64. data/resource/locale/locales-zh-CN.xml +304 -0
  65. data/resource/locale/locales-zh-TW.xml +304 -0
  66. data/resource/schema/csl-categories.rnc +39 -0
  67. data/resource/schema/csl-data.rnc +98 -0
  68. data/resource/schema/csl-terms.rnc +106 -0
  69. data/resource/schema/csl-types.rnc +39 -0
  70. data/resource/schema/csl-variables.rnc +182 -0
  71. data/resource/schema/csl.rnc +941 -0
  72. data/resource/style/acta-materialia-x.csl +128 -0
  73. data/resource/style/advanced-engineering-materials-x.csl +121 -0
  74. data/resource/style/ama.csl +185 -0
  75. data/resource/style/ama2-x.csl +179 -0
  76. data/resource/style/apa-x.csl +324 -0
  77. data/resource/style/apa.csl +254 -0
  78. data/resource/style/apsa-x.csl +163 -0
  79. data/resource/style/apsa.csl +176 -0
  80. data/resource/style/asa-x.csl +203 -0
  81. data/resource/style/asa.csl +216 -0
  82. data/resource/style/asm-journals-x.csl +131 -0
  83. data/resource/style/bibtex-x2.csl +175 -0
  84. data/resource/style/bluebook-demo-x.csl +392 -0
  85. data/resource/style/bluebook-demo.csl +942 -0
  86. data/resource/style/chicago-author-date-listing.csl +434 -0
  87. data/resource/style/chicago-author-date.csl +369 -0
  88. data/resource/style/chicago-fullnote-bibliography-bb.csl +928 -0
  89. data/resource/style/chicago-fullnote-bibliography.csl +695 -0
  90. data/resource/style/chicago-note-bibliography.csl +446 -0
  91. data/resource/style/chicago-note.csl +388 -0
  92. data/resource/style/greek-chicago-x.csl +1182 -0
  93. data/resource/style/harvard1-institution-italic.csl +190 -0
  94. data/resource/style/harvard1.csl +181 -0
  95. data/resource/style/ieee.csl +129 -0
  96. data/resource/style/mhra-x.csl +312 -0
  97. data/resource/style/mhra.csl +390 -0
  98. data/resource/style/mhra_note_without_bibliography-x.csl +330 -0
  99. data/resource/style/mhra_note_without_bibliography.csl +338 -0
  100. data/resource/style/mla-x.csl +178 -0
  101. data/resource/style/mla.csl +189 -0
  102. data/resource/style/nature-x.csl +81 -0
  103. data/resource/style/nature.csl +88 -0
  104. data/resource/style/nlm.csl +117 -0
  105. data/spec/citeproc/bibliography_spec.rb +45 -0
  106. data/spec/citeproc/citeproc_spec.rb +76 -0
  107. data/spec/citeproc/date_spec.rb +85 -0
  108. data/spec/citeproc/formatter_spec.rb +101 -0
  109. data/spec/citeproc/item_spec.rb +71 -0
  110. data/spec/citeproc/name_spec.rb +30 -0
  111. data/spec/citeproc/processor_spec.rb +61 -0
  112. data/spec/citeproc/selector_spec.rb +82 -0
  113. data/spec/citeproc/variable_spec.rb +69 -0
  114. data/spec/csl/locale_spec.rb +208 -0
  115. data/spec/csl/node_spec.rb +25 -0
  116. data/spec/csl/nodes_spec.rb +140 -0
  117. data/spec/csl/style_spec.rb +62 -0
  118. data/spec/csl/term_spec.rb +56 -0
  119. data/spec/fixtures/dates.yaml +80 -0
  120. data/spec/fixtures/names.yaml +115 -0
  121. data/spec/fixtures/nodes.yaml +245 -0
  122. data/spec/spec_helper.rb +18 -0
  123. data/spec/support/attributes_spec.rb +39 -0
  124. data/spec/support/tree_spec.rb +163 -0
  125. metadata +264 -0
@@ -0,0 +1,67 @@
1
+ module CiteProc
2
+ module Format
3
+ class Html < Default
4
+
5
+ def initialize
6
+ super
7
+ @container = :span
8
+ @mode = :individual
9
+ end
10
+
11
+ def name; "CiteProc HTML style"; end
12
+
13
+ def self.filter(string)
14
+ string.gsub(/&([^#])/i, '&#38;\1')
15
+ end
16
+
17
+
18
+ def finalize
19
+ content = @tokens.map(&:content).join
20
+
21
+ unless @styles.empty?
22
+ content = @mode == :combined ? content_tag(@container, content, @styles) : individual_tags(content)
23
+ end
24
+
25
+ [prefix, content, suffix].reject(&:nil?).join
26
+ end
27
+
28
+ def input=(input)
29
+ super
30
+ @tokens.each { |token| token.content = Html.filter(token.content) }
31
+ end
32
+
33
+ # @param display 'block', 'left-margin', 'right-inline', 'inline'
34
+ def set_display(display)
35
+ super
36
+ @container = :div if !display.nil? && display != 'inline'
37
+ end
38
+
39
+
40
+ protected
41
+
42
+ def individual_tags(content)
43
+ @styles.each_pair do |style, value|
44
+ case
45
+ when style == 'font-weight' && value == 'bold'
46
+ content = content_tag(:b, content)
47
+ when style == 'font-style' && value == 'italic'
48
+ content = content_tag(:i, content)
49
+ else
50
+ content = content_tag(:span, content, style => value)
51
+ end
52
+ end
53
+
54
+ content
55
+ end
56
+
57
+ def content_tag(name, content, styles=nil)
58
+ if styles.nil?
59
+ %Q{<#{name}>#{content}</#{name}>}
60
+ else
61
+ %Q{<#{name} style="#{ styles.map { |k,v| [k,v].join(': ') }.join('; ') }">#{content}</#{name}>}
62
+ end
63
+ end
64
+ end
65
+
66
+ end
67
+ end
@@ -0,0 +1,99 @@
1
+ require 'forwardable'
2
+ require 'json'
3
+
4
+
5
+ module Support
6
+
7
+ module Attributes
8
+ extend Forwardable
9
+
10
+ def self.included(base)
11
+ base.extend(ClassMethods)
12
+ end
13
+
14
+ attr_writer :attributes, :key_filter, :value_filter
15
+
16
+ def attributes
17
+ @attributes ||= {}
18
+ end
19
+
20
+ def_delegators :attributes, :empty?, :to_json
21
+
22
+ def [](id)
23
+ attributes[filter_key(id)]
24
+ end
25
+
26
+ def []=(id, value)
27
+ attributes[filter_key(id)] = filter_value(value)
28
+ end
29
+
30
+ def merge(other)
31
+ return self if other.nil?
32
+ other = JSON.parse(other) if other.is_a?(String) && other =~ /^\s*\{/
33
+
34
+ other.to_hash.each_pair { |k,v| self[k] = v }
35
+ self
36
+ end
37
+
38
+ alias :merge! :merge #deprecated
39
+
40
+ def reverse_merge(other)
41
+ other.merge!(self)
42
+ end
43
+
44
+ alias :reverse_merge! :reverse_merge #deprecated
45
+
46
+ alias_method :to_hash, :attributes
47
+
48
+ def key_filter
49
+ @key_filter ||= Hash.new { |hash, key| hash[key] = key.to_s }
50
+ end
51
+
52
+ def value_filter
53
+ @value_filter ||= Hash.new { |hash, key| hash[key] = key }
54
+ end
55
+
56
+
57
+ private
58
+
59
+ def filter_key(key)
60
+ key_filter[key] || key
61
+ end
62
+
63
+ def filter_value(value)
64
+ value_filter[value] || value
65
+ end
66
+
67
+ module ClassMethods
68
+
69
+ def create(parameters)
70
+ new.merge(parameters)
71
+ end
72
+
73
+ def attr_fields(*args)
74
+ args.flatten.each do |field|
75
+ field, default = (field.is_a?(Hash) ? field.to_a.flatten : [field]).map(&:to_s)
76
+ method_id = field.downcase.gsub(/[-\s]+/, '_')
77
+
78
+ define_method method_id do; self[field] ||= default; end unless self.respond_to?(method_id)
79
+
80
+ writer_id = [method_id, '='].join
81
+ define_method writer_id do |value|
82
+ self[field] = value
83
+ end unless self.respond_to?(writer_id)
84
+
85
+ predicate = [method_id, '?'].join
86
+ unless self.respond_to?(predicate)
87
+ define_method predicate do
88
+ ![nil, false, '', [], 'false', 'no', 'never'].include?(self[field])
89
+ end
90
+ has_predicate = ['has_', predicate].join
91
+ alias_method(has_predicate, predicate) unless self.respond_to?(has_predicate)
92
+ end
93
+ end
94
+ end
95
+
96
+ end
97
+
98
+ end
99
+ end
@@ -0,0 +1,80 @@
1
+ module Support
2
+ module Tree
3
+ extend Enumerable
4
+
5
+ attr_accessor :parent, :node_name
6
+
7
+ def self.included(base)
8
+ base.extend(ClassMethods)
9
+ end
10
+
11
+ def name
12
+ node_name || self.class.name.split(/::/).last.gsub(/([[:lower:]])([[:upper:]])/) { [$1, $2].join('-') }.downcase
13
+ end
14
+
15
+ def children
16
+ @children ||= []
17
+ end
18
+
19
+ def find_children_by_name(name)
20
+ children.select { |node| node.name == name.to_s }
21
+ end
22
+
23
+ def has_children?; !children.empty?; end
24
+
25
+ def each
26
+ descendants.each { |child| yield child }
27
+ end
28
+
29
+ def descendants!
30
+ @descendants = children + children.map(&:children).flatten
31
+ end
32
+
33
+ def descendants; @descendants || descendants!; end
34
+
35
+ def add_children(*args)
36
+ args.flatten.compact.each { |node| node.parent = self; children << node }
37
+ self
38
+ end
39
+
40
+ alias :add_child :add_children
41
+
42
+ def ancestors!
43
+ @ancestors = root? ? [] : [parent] + parent.ancestors!
44
+ end
45
+
46
+ def ancestors; @ancestors || ancestors!; end
47
+
48
+ def depth
49
+ ancestors.length
50
+ end
51
+
52
+ def root!
53
+ @root = root? ? self : parent.root!
54
+ end
55
+
56
+ def root; @root || root!; end
57
+
58
+ def root?; parent.nil?; end
59
+
60
+ module ClassMethods
61
+
62
+ def attr_children(*arguments)
63
+ arguments.flatten.each do |name|
64
+
65
+ unless respond_to?(name) || respond_to?("#{name}!")
66
+ define_method(name) do
67
+ instance_variable_get("@#{name}") || send("#{name}!")
68
+ end
69
+
70
+ define_method("#{name}!") do
71
+ instance_variable_set("@#{name}", find_children_by_name(name))
72
+ end
73
+ end
74
+
75
+ end
76
+ end
77
+
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,304 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="af">
3
+ <style-options punctuation-in-quote="false"/>
4
+ <date form="text">
5
+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>
6
+ <date-part name="month" suffix=" "/>
7
+ <date-part name="year"/>
8
+ </date>
9
+ <date form="numeric">
10
+ <date-part name="year"/>
11
+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>
12
+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>
13
+ </date>
14
+ <terms>
15
+ <term name="accessed">toegang verkry</term>
16
+ <term name="and">en</term>
17
+ <term name="and others">and others</term>
18
+ <term name="anonymous">anonymous</term>
19
+ <term name="anonymous" form="short">anon</term>
20
+ <term name="at">at</term>
21
+ <term name="by">by</term>
22
+ <term name="circa">circa</term>
23
+ <term name="circa" form="short">c.</term>
24
+ <term name="cited">cited</term>
25
+ <term name="edition">
26
+ <single>edition</single>
27
+ <multiple>editions</multiple>
28
+ </term>
29
+ <term name="edition" form="short">ed</term>
30
+ <term name="et-al">et al.</term>
31
+ <term name="forthcoming">voorhande</term>
32
+ <term name="from">van</term>
33
+ <term name="ibid">ibid.</term>
34
+ <term name="in">in</term>
35
+ <term name="in press">in press</term>
36
+ <term name="internet">internet</term>
37
+ <term name="interview">interview</term>
38
+ <term name="letter">letter</term>
39
+ <term name="no date">no date</term>
40
+ <term name="no date" form="short">n.d.</term>
41
+ <term name="online">online</term>
42
+ <term name="presented at">presented at the</term>
43
+ <term name="reference">
44
+ <single>reference</single>
45
+ <multiple>references</multiple>
46
+ </term>
47
+ <term name="reference" form="short">
48
+ <single>ref.</single>
49
+ <multiple>refs.</multiple>
50
+ </term>
51
+ <term name="retrieved">opgehaal</term>
52
+
53
+ <!-- ANNO DOMINI; BEFORE CHRIST -->
54
+ <term name="ad">AD</term>
55
+ <term name="bc">BC</term>
56
+
57
+ <!-- QUOTES -->
58
+ <term name="open-quote">“</term>
59
+ <term name="close-quote">”</term>
60
+ <term name="open-inner-quote">‘</term>
61
+ <term name="close-inner-quote">’</term>
62
+
63
+ <!-- ORDINALS -->
64
+ <term name="ordinal-01">st</term>
65
+ <term name="ordinal-02">nd</term>
66
+ <term name="ordinal-03">rd</term>
67
+ <term name="ordinal-04">th</term>
68
+
69
+ <!-- LONG ORDINALS -->
70
+ <term name="long-ordinal-01">first</term>
71
+ <term name="long-ordinal-02">second</term>
72
+ <term name="long-ordinal-03">third</term>
73
+ <term name="long-ordinal-04">fourth</term>
74
+ <term name="long-ordinal-05">fifth</term>
75
+ <term name="long-ordinal-06">sixth</term>
76
+ <term name="long-ordinal-07">seventh</term>
77
+ <term name="long-ordinal-08">eighth</term>
78
+ <term name="long-ordinal-09">ninth</term>
79
+ <term name="long-ordinal-10">tenth</term>
80
+
81
+ <!-- CATEGORIES -->
82
+ <term name="anthropology">anthropology</term>
83
+ <term name="astronomy">astronomy</term>
84
+ <term name="biology">biology</term>
85
+ <term name="botany">botany</term>
86
+ <term name="chemistry">chemistry</term>
87
+ <term name="engineering">engineering</term>
88
+ <term name="generic-base">generic base</term>
89
+ <term name="geography">geography</term>
90
+ <term name="geology">geology</term>
91
+ <term name="history">history</term>
92
+ <term name="humanities">humanities</term>
93
+ <term name="linguistics">linguistics</term>
94
+ <term name="literature">literature</term>
95
+ <term name="math">math</term>
96
+ <term name="medicine">medicine</term>
97
+ <term name="philosophy">philosophy</term>
98
+ <term name="physics">physics</term>
99
+ <term name="psychology">psychology</term>
100
+ <term name="sociology">sociology</term>
101
+ <term name="science">science</term>
102
+ <term name="political_science">political science</term>
103
+ <term name="social_science">social science</term>
104
+ <term name="theology">theology</term>
105
+ <term name="zoology">zoology</term>
106
+
107
+ <!-- LONG LOCATOR FORMS -->
108
+ <term name="book">
109
+ <single>book</single>
110
+ <multiple>books</multiple>
111
+ </term>
112
+ <term name="chapter">
113
+ <single>chapter</single>
114
+ <multiple>chapters</multiple>
115
+ </term>
116
+ <term name="column">
117
+ <single>column</single>
118
+ <multiple>columns</multiple>
119
+ </term>
120
+ <term name="figure">
121
+ <single>figure</single>
122
+ <multiple>figures</multiple>
123
+ </term>
124
+ <term name="folio">
125
+ <single>folio</single>
126
+ <multiple>folios</multiple>
127
+ </term>
128
+ <term name="issue">
129
+ <single>number</single>
130
+ <multiple>numbers</multiple>
131
+ </term>
132
+ <term name="line">
133
+ <single>reël</single>
134
+ <multiple>reëls</multiple>
135
+ </term>
136
+ <term name="note">
137
+ <single>note</single>
138
+ <multiple>notes</multiple>
139
+ </term>
140
+ <term name="opus">
141
+ <single>opus</single>
142
+ <multiple>opera</multiple>
143
+ </term>
144
+ <term name="page">
145
+ <single>bladsy</single>
146
+ <multiple>bladsye</multiple>
147
+ </term>
148
+ <term name="paragraph">
149
+ <single>paragraaf</single>
150
+ <multiple>paragrawe</multiple>
151
+ </term>
152
+ <term name="part">
153
+ <single>part</single>
154
+ <multiple>parts</multiple>
155
+ </term>
156
+ <term name="section">
157
+ <single>section</single>
158
+ <multiple>sections</multiple>
159
+ </term>
160
+ <term name="sub verbo">
161
+ <single>sub verbo</single>
162
+ <multiple>sub verbis</multiple>
163
+ </term>
164
+ <term name="verse">
165
+ <single>verse</single>
166
+ <multiple>verses</multiple>
167
+ </term>
168
+ <term name="volume">
169
+ <single>volume</single>
170
+ <multiple>volumes</multiple>
171
+ </term>
172
+
173
+ <!-- SHORT LOCATOR FORMS -->
174
+ <term name="book" form="short">bk</term>
175
+ <term name="chapter" form="short">chap</term>
176
+ <term name="column" form="short">col</term>
177
+ <term name="figure" form="short">fig</term>
178
+ <term name="folio" form="short">f</term>
179
+ <term name="issue" form="short">no</term>
180
+ <term name="opus" form="short">op</term>
181
+ <term name="page" form="short">
182
+ <single>bl</single>
183
+ <multiple>bll</multiple>
184
+ </term>
185
+ <term name="paragraph" form="short">para</term>
186
+ <term name="part" form="short">pt</term>
187
+ <term name="section" form="short">sec</term>
188
+ <term name="sub verbo" form="short">
189
+ <single>s.v.</single>
190
+ <multiple>s.vv.</multiple>
191
+ </term>
192
+ <term name="verse" form="short">
193
+ <single>v</single>
194
+ <multiple>vv</multiple>
195
+ </term>
196
+ <term name="volume" form="short">
197
+ <single>vol</single>
198
+ <multiple>vols</multiple>
199
+ </term>
200
+
201
+ <!-- SYMBOL LOCATOR FORMS -->
202
+ <term name="paragraph" form="symbol">
203
+ <single>¶</single>
204
+ <multiple>¶¶</multiple>
205
+ </term>
206
+ <term name="section" form="symbol">
207
+ <single>§</single>
208
+ <multiple>§§</multiple>
209
+ </term>
210
+
211
+ <!-- LONG ROLE FORMS -->
212
+ <term name="author">
213
+ <single/>
214
+ <multiple/>
215
+ </term>
216
+ <term name="editor">
217
+ <single>redakteur</single>
218
+ <multiple>redakteurs</multiple>
219
+ </term>
220
+ <term name="editorial-director">
221
+ <single>editor</single>
222
+ <multiple>editors</multiple>
223
+ </term>
224
+ <term name="translator">
225
+ <single>vertaler</single>
226
+ <multiple>vertalers</multiple>
227
+ </term>
228
+ <term name="editortranslator">
229
+ <single>editor &amp; translator</single>
230
+ <multiple>editors &amp; translators</multiple>
231
+ </term>
232
+
233
+ <!-- SHORT ROLE FORMS -->
234
+ <term name="author" form="short">
235
+ <single/>
236
+ <multiple/>
237
+ </term>
238
+ <term name="editor" form="short">
239
+ <single>red</single>
240
+ <multiple>reds</multiple>
241
+ </term>
242
+ <term name="editorial-director" form="short">
243
+ <single>ed.</single>
244
+ <multiple>eds.</multiple>
245
+ </term>
246
+ <term name="translator" form="short">
247
+ <single>vert</single>
248
+ <multiple>verts</multiple>
249
+ </term>
250
+ <term name="editortranslator" form="short">
251
+ <single>ed. &amp; tran.</single>
252
+ <multiple>eds. &amp; trans.</multiple>
253
+ </term>
254
+
255
+ <!-- VERB ROLE FORMS -->
256
+ <term name="editor" form="verb">onder redaksie van</term>
257
+ <term name="editorial-director" form="verb">edited by</term>
258
+ <term name="translator" form="verb">vertaal deur</term>
259
+ <term name="editortranslator" form="verb">edited &amp; translated by</term>
260
+ <term name="recipient" form="verb">to</term>
261
+ <term name="interviewer" form="verb">interview by</term>
262
+
263
+ <!-- SHORT VERB ROLE FORMS -->
264
+ <term name="container-author" form="verb-short">by</term>
265
+ <term name="editor" form="verb-short">red</term>
266
+ <term name="editorial-director" form="verb-short">ed.</term>
267
+ <term name="translator" form="verb-short">verts</term>
268
+ <term name="editortranslator" form="verb-short">ed. &amp; trans. by</term>
269
+
270
+ <!-- LONG MONTH FORMS -->
271
+ <term name="month-01">Januarie</term>
272
+ <term name="month-02">Februarie</term>
273
+ <term name="month-03">Maart</term>
274
+ <term name="month-04">April</term>
275
+ <term name="month-05">Mei</term>
276
+ <term name="month-06">Junie</term>
277
+ <term name="month-07">Julie</term>
278
+ <term name="month-08">Augustus</term>
279
+ <term name="month-09">September</term>
280
+ <term name="month-10">Oktober</term>
281
+ <term name="month-11">November</term>
282
+ <term name="month-12">Desember</term>
283
+
284
+ <!-- SHORT MONTH FORMS -->
285
+ <term name="month-01" form="short">Jan</term>
286
+ <term name="month-02" form="short">Feb</term>
287
+ <term name="month-03" form="short">Mrt</term>
288
+ <term name="month-04" form="short">Apr</term>
289
+ <term name="month-05" form="short">Mei</term>
290
+ <term name="month-06" form="short">Jun</term>
291
+ <term name="month-07" form="short">Jul</term>
292
+ <term name="month-08" form="short">Aug</term>
293
+ <term name="month-09" form="short">Sep</term>
294
+ <term name="month-10" form="short">Okt</term>
295
+ <term name="month-11" form="short">Nov</term>
296
+ <term name="month-12" form="short">Des</term>
297
+
298
+ <!-- SEASONS -->
299
+ <term name="season-01">Spring</term>
300
+ <term name="season-02">Summer</term>
301
+ <term name="season-03">Autumn</term>
302
+ <term name="season-04">Winter</term>
303
+ </terms>
304
+ </locale>