citeproc-ruby 0.0.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 (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>