sisu 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +7 -0
  2. data/bin/sisu +367 -0
  3. data/bin/sisugem +367 -0
  4. data/data/sisu/image/arrow_next_red.png +0 -0
  5. data/data/sisu/image/arrow_prev_red.png +0 -0
  6. data/data/sisu/image/arrow_up_red.png +0 -0
  7. data/data/sisu/image/b_bluebell.png +0 -0
  8. data/data/sisu/image/b_doc.png +0 -0
  9. data/data/sisu/image/b_epub.png +0 -0
  10. data/data/sisu/image/b_home.png +0 -0
  11. data/data/sisu/image/b_info.png +0 -0
  12. data/data/sisu/image/b_odf.png +0 -0
  13. data/data/sisu/image/b_pdf.png +0 -0
  14. data/data/sisu/image/b_search.png +0 -0
  15. data/data/sisu/image/b_toc.png +0 -0
  16. data/data/sisu/image/bullet_08.png +0 -0
  17. data/data/sisu/image/bullet_09.png +0 -0
  18. data/data/sisu/image/bullet_10.png +0 -0
  19. data/data/sisu/image/bullet_11.png +0 -0
  20. data/data/sisu/image/bullet_12.png +0 -0
  21. data/data/sisu/image/bullet_doc.png +0 -0
  22. data/data/sisu/image/bullet_red.png +0 -0
  23. data/data/sisu/image/dot_clear.png +0 -0
  24. data/data/sisu/image/dot_white.png +0 -0
  25. data/data/sisu/image/gplv3.png +0 -0
  26. data/data/sisu/image/gplv3_free_software.png +0 -0
  27. data/data/sisu/image/next.png +0 -0
  28. data/data/sisu/image/previous.png +0 -0
  29. data/data/sisu/image/rb7.ico +0 -0
  30. data/data/sisu/image/sisu.png +0 -0
  31. data/data/sisu/image/toctoc.png +0 -0
  32. data/data/sisu/version.yml +5 -0
  33. data/lib/sisu.rb +94 -0
  34. data/lib/sisu/air.rb +80 -0
  35. data/lib/sisu/ao.rb +590 -0
  36. data/lib/sisu/ao_character_check.rb +102 -0
  37. data/lib/sisu/ao_composite.rb +286 -0
  38. data/lib/sisu/ao_doc_objects.rb +565 -0
  39. data/lib/sisu/ao_doc_str.rb +2269 -0
  40. data/lib/sisu/ao_endnotes.rb +136 -0
  41. data/lib/sisu/ao_expand_insertions.rb +514 -0
  42. data/lib/sisu/ao_hash_digest.rb +174 -0
  43. data/lib/sisu/ao_idx.rb +422 -0
  44. data/lib/sisu/ao_images.rb +187 -0
  45. data/lib/sisu/ao_metadata.rb +86 -0
  46. data/lib/sisu/ao_misc_arrange.rb +207 -0
  47. data/lib/sisu/ao_numbering.rb +720 -0
  48. data/lib/sisu/ao_persist.rb +194 -0
  49. data/lib/sisu/ao_references.rb +502 -0
  50. data/lib/sisu/ao_syntax.rb +640 -0
  51. data/lib/sisu/cgi.rb +84 -0
  52. data/lib/sisu/cgi_pgsql.rb +270 -0
  53. data/lib/sisu/cgi_sql_common.rb +986 -0
  54. data/lib/sisu/cgi_sqlite.rb +244 -0
  55. data/lib/sisu/conf.rb +287 -0
  56. data/lib/sisu/constants.rb +388 -0
  57. data/lib/sisu/css.rb +3484 -0
  58. data/lib/sisu/db_columns.rb +1997 -0
  59. data/lib/sisu/db_create.rb +689 -0
  60. data/lib/sisu/db_dbi.rb +90 -0
  61. data/lib/sisu/db_drop.rb +207 -0
  62. data/lib/sisu/db_import.rb +877 -0
  63. data/lib/sisu/db_indexes.rb +146 -0
  64. data/lib/sisu/db_load_tuple.rb +323 -0
  65. data/lib/sisu/db_remove.rb +182 -0
  66. data/lib/sisu/db_select.rb +230 -0
  67. data/lib/sisu/db_sqltxt.rb +173 -0
  68. data/lib/sisu/db_tests.rb +114 -0
  69. data/lib/sisu/dbi.rb +166 -0
  70. data/lib/sisu/dbi_discrete.rb +206 -0
  71. data/lib/sisu/digests.rb +306 -0
  72. data/lib/sisu/dp.rb +1606 -0
  73. data/lib/sisu/dp_identify_markup.rb +161 -0
  74. data/lib/sisu/dp_make.rb +668 -0
  75. data/lib/sisu/embedded.rb +149 -0
  76. data/lib/sisu/errors.rb +84 -0
  77. data/lib/sisu/generic_parts.rb +131 -0
  78. data/lib/sisu/git.rb +277 -0
  79. data/lib/sisu/html.rb +775 -0
  80. data/lib/sisu/html_concordance.rb +391 -0
  81. data/lib/sisu/html_format.rb +1348 -0
  82. data/lib/sisu/html_harvest.rb +109 -0
  83. data/lib/sisu/html_harvest_author_format.rb +111 -0
  84. data/lib/sisu/html_harvest_authors.rb +466 -0
  85. data/lib/sisu/html_harvest_topics.rb +893 -0
  86. data/lib/sisu/html_lite_shared.rb +324 -0
  87. data/lib/sisu/html_manifest.rb +1032 -0
  88. data/lib/sisu/html_minitoc.rb +230 -0
  89. data/lib/sisu/html_parts.rb +437 -0
  90. data/lib/sisu/html_persist.rb +237 -0
  91. data/lib/sisu/html_promo.rb +440 -0
  92. data/lib/sisu/html_scroll.rb +235 -0
  93. data/lib/sisu/html_segments.rb +716 -0
  94. data/lib/sisu/html_shared.rb +62 -0
  95. data/lib/sisu/html_table.rb +64 -0
  96. data/lib/sisu/html_tune.rb +301 -0
  97. data/lib/sisu/hub.rb +277 -0
  98. data/lib/sisu/hub_actions.rb +1122 -0
  99. data/lib/sisu/hub_loop_markup_files.rb +170 -0
  100. data/lib/sisu/hub_options.rb +1695 -0
  101. data/lib/sisu/i18n.rb +702 -0
  102. data/lib/sisu/manpage.rb +377 -0
  103. data/lib/sisu/manpage_format.rb +85 -0
  104. data/lib/sisu/object_munge.rb +307 -0
  105. data/lib/sisu/prog_text_translation.rb +1702 -0
  106. data/lib/sisu/qrcode.rb +754 -0
  107. data/lib/sisu/relaxng.rb +1153 -0
  108. data/lib/sisu/remote.rb +246 -0
  109. data/lib/sisu/rexml.rb +148 -0
  110. data/lib/sisu/se.rb +158 -0
  111. data/lib/sisu/se_cleanoutput.rb +145 -0
  112. data/lib/sisu/se_clear.rb +105 -0
  113. data/lib/sisu/se_createsite.rb +273 -0
  114. data/lib/sisu/se_css.rb +221 -0
  115. data/lib/sisu/se_date.rb +92 -0
  116. data/lib/sisu/se_db.rb +214 -0
  117. data/lib/sisu/se_envcall.rb +326 -0
  118. data/lib/sisu/se_file_op.rb +2758 -0
  119. data/lib/sisu/se_filemap.rb +247 -0
  120. data/lib/sisu/se_get_init.rb +238 -0
  121. data/lib/sisu/se_hub_particulars.rb +234 -0
  122. data/lib/sisu/se_info_env.rb +2179 -0
  123. data/lib/sisu/se_info_port.rb +70 -0
  124. data/lib/sisu/se_info_system.rb +202 -0
  125. data/lib/sisu/se_load.rb +108 -0
  126. data/lib/sisu/se_processing.rb +659 -0
  127. data/lib/sisu/se_programs.rb +394 -0
  128. data/lib/sisu/se_remotes.rb +553 -0
  129. data/lib/sisu/se_standardise_lang.rb +176 -0
  130. data/lib/sisu/se_version.rb +174 -0
  131. data/lib/sisu/shared_images.rb +137 -0
  132. data/lib/sisu/shared_markup_alt.rb +336 -0
  133. data/lib/sisu/shared_metadata.rb +1361 -0
  134. data/lib/sisu/shared_sem.rb +156 -0
  135. data/lib/sisu/sisu_thor_lib.rb +407 -0
  136. data/lib/sisu/sitemaps.rb +224 -0
  137. data/lib/sisu/src_kdissert_share.rb +102 -0
  138. data/lib/sisu/src_po4a_share.rb +309 -0
  139. data/lib/sisu/src_po4a_shelf.rb +1217 -0
  140. data/lib/sisu/src_po4a_shelf_set.rb +297 -0
  141. data/lib/sisu/src_po4a_sst_ao_sst.rb +893 -0
  142. data/lib/sisu/src_po4a_sst_ao_sst_set.rb +284 -0
  143. data/lib/sisu/src_po4a_sstm.rb +135 -0
  144. data/lib/sisu/src_shared.rb +347 -0
  145. data/lib/sisu/src_sisupod_make.rb +171 -0
  146. data/lib/sisu/src_sisupod_sstm.rb +109 -0
  147. data/lib/sisu/sst_convert_markup.rb +323 -0
  148. data/lib/sisu/sst_do_inline_footnotes.rb +440 -0
  149. data/lib/sisu/sst_from_xml.rb +178 -0
  150. data/lib/sisu/sst_identify_markup.rb +482 -0
  151. data/lib/sisu/sst_to_s_xml_sax.rb +471 -0
  152. data/lib/sisu/termsheet.rb +163 -0
  153. data/lib/sisu/texinfo.rb +430 -0
  154. data/lib/sisu/texinfo_format.rb +541 -0
  155. data/lib/sisu/texpdf.rb +1162 -0
  156. data/lib/sisu/texpdf_format.rb +1689 -0
  157. data/lib/sisu/texpdf_parts.rb +235 -0
  158. data/lib/sisu/txt_asciidoc.rb +354 -0
  159. data/lib/sisu/txt_asciidoc_decorate.rb +207 -0
  160. data/lib/sisu/txt_markdown.rb +389 -0
  161. data/lib/sisu/txt_markdown_decorate.rb +207 -0
  162. data/lib/sisu/txt_orgmode.rb +376 -0
  163. data/lib/sisu/txt_orgmode_decorate.rb +186 -0
  164. data/lib/sisu/txt_output.rb +86 -0
  165. data/lib/sisu/txt_plain.rb +410 -0
  166. data/lib/sisu/txt_plain_decorate.rb +189 -0
  167. data/lib/sisu/txt_read.rb +109 -0
  168. data/lib/sisu/txt_rst.rb +371 -0
  169. data/lib/sisu/txt_rst_decorate.rb +186 -0
  170. data/lib/sisu/txt_shared.rb +241 -0
  171. data/lib/sisu/txt_textile.rb +367 -0
  172. data/lib/sisu/txt_textile_decorate.rb +186 -0
  173. data/lib/sisu/update.rb +141 -0
  174. data/lib/sisu/urls.rb +696 -0
  175. data/lib/sisu/utils.rb +232 -0
  176. data/lib/sisu/utils_composite.rb +115 -0
  177. data/lib/sisu/utils_response.rb +114 -0
  178. data/lib/sisu/utils_screen_text_color.rb +472 -0
  179. data/lib/sisu/utils_spell.rb +99 -0
  180. data/lib/sisu/webrick.rb +191 -0
  181. data/lib/sisu/wikispeak.rb +375 -0
  182. data/lib/sisu/xhtml.rb +472 -0
  183. data/lib/sisu/xhtml_epub2.rb +890 -0
  184. data/lib/sisu/xhtml_epub2_concordance.rb +322 -0
  185. data/lib/sisu/xhtml_epub2_format.rb +2272 -0
  186. data/lib/sisu/xhtml_epub2_persist.rb +278 -0
  187. data/lib/sisu/xhtml_epub2_segments.rb +599 -0
  188. data/lib/sisu/xhtml_epub2_tune.rb +330 -0
  189. data/lib/sisu/xhtml_parts.rb +183 -0
  190. data/lib/sisu/xhtml_shared.rb +62 -0
  191. data/lib/sisu/xhtml_table.rb +97 -0
  192. data/lib/sisu/xml_docbook5.rb +376 -0
  193. data/lib/sisu/xml_dom.rb +624 -0
  194. data/lib/sisu/xml_fictionbook2.rb +389 -0
  195. data/lib/sisu/xml_format.rb +865 -0
  196. data/lib/sisu/xml_md_oai_pmh_dc.rb +229 -0
  197. data/lib/sisu/xml_odf_odt.rb +887 -0
  198. data/lib/sisu/xml_odf_odt_format.rb +674 -0
  199. data/lib/sisu/xml_parts.rb +191 -0
  200. data/lib/sisu/xml_persist.rb +126 -0
  201. data/lib/sisu/xml_sax.rb +521 -0
  202. data/lib/sisu/xml_scaffold_structure_collapsed.rb +198 -0
  203. data/lib/sisu/xml_scaffold_structure_sisu.rb +201 -0
  204. data/lib/sisu/xml_shared.rb +665 -0
  205. data/lib/sisu/xml_tables.rb +261 -0
  206. data/lib/sisu/zap.rb +90 -0
  207. metadata +251 -0
@@ -0,0 +1,307 @@
1
+ # encoding: utf-8
2
+ =begin
3
+
4
+ * Name: SiSU
5
+
6
+ ** Description: documents, structuring, processing, publishing, search
7
+ *** object munge
8
+
9
+ ** Author: Ralph Amissah
10
+ <ralph@amissah.com>
11
+ <ralph.amissah@gmail.com>
12
+
13
+ ** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
14
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
15
+ All Rights Reserved.
16
+
17
+ ** License: GPL 3 or later:
18
+
19
+ SiSU, a framework for document structuring, publishing and search
20
+
21
+ Copyright (C) Ralph Amissah
22
+
23
+ This program is free software: you can redistribute it and/or modify it
24
+ under the terms of the GNU General Public License as published by the Free
25
+ Software Foundation, either version 3 of the License, or (at your option)
26
+ any later version.
27
+
28
+ This program is distributed in the hope that it will be useful, but WITHOUT
29
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
30
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
31
+ more details.
32
+
33
+ You should have received a copy of the GNU General Public License along with
34
+ this program. If not, see <http://www.gnu.org/licenses/>.
35
+
36
+ If you have Internet connection, the latest version of the GPL should be
37
+ available at these locations:
38
+ <http://www.fsf.org/licensing/licenses/gpl.html>
39
+ <http://www.gnu.org/licenses/gpl.html>
40
+
41
+ <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
42
+
43
+ ** SiSU uses:
44
+ * Standard SiSU markup syntax,
45
+ * Standard SiSU meta-markup syntax, and the
46
+ * Standard SiSU object citation numbering and system
47
+
48
+ ** Hompages:
49
+ <http://www.jus.uio.no/sisu>
50
+ <http://www.sisudoc.org>
51
+
52
+ ** Git
53
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
54
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD>
55
+
56
+ =end
57
+ module SiSU_Object_Munge
58
+ def i_src_o_strip_markup(txtobj)
59
+ txtobj=txtobj.
60
+ gsub(/#{Mx[:srcrgx_bold_o]}(.+?)#{Mx[:srcrgx_bold_c]}/m,'\1').
61
+ gsub(/#{Mx[:srcrgx_italics_o]}(.+?)#{Mx[:srcrgx_italics_c]}/m,'\1').
62
+ gsub(/#{Mx[:srcrgx_underscore_o]}(.+?)#{Mx[:srcrgx_underscore_c]}/m,'\1').
63
+ gsub(/#{Mx[:srcrgx_cite_o]}(.+?)#{Mx[:srcrgx_cite_c]}/m,'\1').
64
+ gsub(/#{Mx[:srcrgx_insert_o]}(.+?)#{Mx[:srcrgx_insert_c]}/m,'\1').
65
+ gsub(/#{Mx[:srcrgx_strike_o]}(.+?)#{Mx[:srcrgx_strike_c]}/m,'\1').
66
+ gsub(/#{Mx[:srcrgx_superscript_o]}(\d+)#{Mx[:srcrgx_superscript_c]}/m,'[\1]').
67
+ gsub(/#{Mx[:srcrgx_superscript_o]}(.+?)#{Mx[:srcrgx_superscript_c]}/m,'\1').
68
+ gsub(/#{Mx[:srcrgx_subscript_o]}(.+?)#{Mx[:srcrgx_subscript_c]}/m,'\1').
69
+ gsub(/#{Mx[:srcrgx_hilite_o]}(.+?)#{Mx[:srcrgx_hilite_c]}/m,'\1').
70
+ gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~').
71
+ gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/m,''). # endnote removed
72
+ gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/m,''). # endnote removed
73
+ gsub(/(?:#{Mx[:nbsp]})+/,' ').
74
+ gsub(/(?:#{Mx[:br_nl]})+/,"\n").
75
+ gsub(/(?:#{Mx[:br_paragraph]})+/,"\n").
76
+ gsub(/(?:#{Mx[:br_line]})+/,"\n").
77
+ gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<').
78
+ gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>').
79
+ gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&').
80
+ gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!').
81
+ gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#').
82
+ gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*').
83
+ gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-').
84
+ gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/').
85
+ gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_').
86
+ gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{').
87
+ gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}').
88
+ gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~').
89
+ gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©').
90
+ gsub(/[ ][ ]s+/,' ').
91
+ strip
92
+ if txtobj =~/Reading this/
93
+ puts txtobj
94
+ if txtobj =~ /#{Mx[:srcrgx_italics_o]}(.+?)#{Mx[:srcrgx_italics_c]}/
95
+ puts __LINE__
96
+ puts Mx[:srcrgx_italics_o]
97
+ puts txtobj
98
+ end
99
+ end
100
+ ; txtobj
101
+ end
102
+ def i_ao_o_strip_markup(txtobj)
103
+ txtobj=txtobj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'\1').
104
+ gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'\1').
105
+ gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'\1').
106
+ gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1').
107
+ gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1').
108
+ gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1').
109
+ gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'[\1]').
110
+ gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'\1').
111
+ gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'\1').
112
+ gsub(/#{Mx[:fa_hilite_o]}(.+?)#{Mx[:fa_hilite_c]}/,'\1').
113
+ gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~').
114
+ gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,''). # endnote removed
115
+ gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,''). # endnote removed
116
+ gsub(/(?:#{Mx[:nbsp]})+/,' ').
117
+ gsub(/(?:#{Mx[:br_nl]})+/,"\n").
118
+ gsub(/(?:#{Mx[:br_paragraph]})+/,"\n").
119
+ gsub(/(?:#{Mx[:br_line]})+/,"\n").
120
+ gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<').
121
+ gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>').
122
+ gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&').
123
+ gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!').
124
+ gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#').
125
+ gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*').
126
+ gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-').
127
+ gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/').
128
+ gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_').
129
+ gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{').
130
+ gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}').
131
+ gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~').
132
+ gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©').
133
+ gsub(/[ ][ ]s+/,' ').
134
+ strip
135
+ end
136
+ def i_ao_o_src_markup_restore(txtobj)
137
+ @txtobj=txtobj
138
+ def textface_marks
139
+ @txtobj.gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'*{\1}*').
140
+ gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'/{\1}/').
141
+ gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'_{\1}_').
142
+ gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"{\1}"').
143
+ gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'+{\1}+').
144
+ gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'-{\1}-').
145
+ gsub(/#{Mx[:fa_superscript_o]}(\d+)#{Mx[:fa_superscript_c]}/,'^{[\1]}^').
146
+ gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'^{\1}^').
147
+ gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,',{\1},').
148
+ gsub(/#{Mx[:fa_hilite_o]}(.+?)#{Mx[:fa_hilite_c]}/,'\1').
149
+ gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~').
150
+ gsub(/#{Mx[:en_a_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'~{\1 \2}~').
151
+ gsub(/#{Mx[:en_b_o]}([\d*+]+)\s+(?:.+?)#{Mx[:en_b_c]}/,''). # endnote removed
152
+ gsub(/(?:#{Mx[:nbsp]})+/,' ').
153
+ gsub(/(?:#{Mx[:br_nl]})+/,"\n").
154
+ gsub(/(?:#{Mx[:br_paragraph]})+/,"\n").
155
+ gsub(/(?:#{Mx[:br_line]})+/,"\n").
156
+ gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<').
157
+ gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>').
158
+ gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&').
159
+ gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!').
160
+ gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#').
161
+ gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*').
162
+ gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-').
163
+ gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/').
164
+ gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_').
165
+ gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{').
166
+ gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}').
167
+ gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~').
168
+ gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©').
169
+ gsub(/[ ][ ]s+/,' ').
170
+ strip
171
+ end
172
+ def object_marks
173
+ @txtobj
174
+ end
175
+ self
176
+ end
177
+ def clean_text(txtobj,markup=:ao)
178
+ if txtobj.class==String
179
+ txtobj=if markup ==:ao
180
+ i_ao_o_strip_markup(txtobj)
181
+ elsif markup ==:src
182
+ i_src_o_strip_markup(txtobj)
183
+ else p __FILE__; p __LINE__
184
+ end
185
+ elsif txtobj.class.inspect=~/^SiSU_AO_DocumentStructure::/
186
+ txtobj.obj=i_ao_o_strip_markup(txtobj.obj)
187
+ else p 'error'
188
+ end
189
+ txtobj
190
+ end
191
+ def footnotes_inline(txtobj)
192
+ end
193
+ def footnotes_ref_and_note(txtobj)
194
+ end
195
+ def src_markup(txtobj)
196
+ txtobj
197
+ end
198
+ def extract_endnotes(doc_obj_txt,endnotes_) #% used for extraction of endnotes from paragraphs
199
+ if endnotes_ ==:separate
200
+ notes_a=doc_obj_txt.scan(/#{Mx[:en_a_o]}([\d]+\s+.+?)#{Mx[:en_a_c]}/)
201
+ ##notes_a=doc_obj_txt.scan(/#{Mx[:en_a_o]}([\d*+]+\s+.+?)#{Mx[:en_a_c]}/)
202
+ #notes_b=doc_obj_txt.scan(/#{Mx[:en_b_o]}([\d*+]+\s+.+?)#{Mx[:en_b_c]}/)
203
+ n=[]
204
+ notes_a.flatten.each do |note| #high cost to deal with <br> appropriately within plaintext, consider
205
+ note=note.dup.to_s
206
+ note=note.gsub(/^([\d]+)\s+/,'^~\1 ').
207
+ gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,
208
+ ' \\\\\\ ')
209
+ n << note
210
+ end
211
+ notes_a=n.flatten
212
+ doc_obj_txt=doc_obj_txt.
213
+ gsub(/#{Mx[:en_a_o]}([\d]+)\s+(?:.+?)#{Mx[:en_a_c]}/,'~^') # endnote marker marked up
214
+ else
215
+ doc_obj_txt=doc_obj_txt.
216
+ gsub(/#{Mx[:en_b_o]}[\d]+\s+(.+?)#{Mx[:en_b_c]}/,
217
+ '~[ \1 ]~'). # inline endnote with marker marked up
218
+ gsub(/#{Mx[:en_a_o]}([*+]+)\s+(.+?)#{Mx[:en_a_c]}/,
219
+ '~{\1 \2 }~'). # inline endnote with marker marked up
220
+ gsub(/#{Mx[:en_b_o]}([*+]+)\s+(.+?)#{Mx[:en_b_c]}/,
221
+ '~[\1 \2 ]~') # inline endnote with marker marked up
222
+ end
223
+ [doc_obj_txt,notes_a]
224
+ end
225
+ def objects #def i_ao_o_src_markup_restore(txtobj)
226
+ def code_(dob)
227
+ if dob.is==:code
228
+ dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _<
229
+ gsub(/(^|[^}])_([<>])/m,'\1\2') # _<_<
230
+ end
231
+ dob
232
+ end
233
+ def block_(dob)
234
+ dob.obj=if dob.of==:block # watch
235
+ dob.obj.gsub(/#{Mx[:gl_o]}●#{Mx[:gl_c]}/,"* ").
236
+ gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,"\n")
237
+ else dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,"\n\n")
238
+ end
239
+ dob
240
+ end
241
+ def textface_marks_po4a(dob,endnotes_=:inline)
242
+ notes=''
243
+ dob.obj=dob.obj.
244
+ gsub(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,
245
+ Mx[:src_bold_o] + '\1' + Mx[:src_bold_c]).
246
+ gsub(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,
247
+ Mx[:src_italics_o] + '\1' + Mx[:src_italics_c]).
248
+ gsub(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,
249
+ Mx[:src_underscore_o] + '\1' + Mx[:src_underscore_c]).
250
+ gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,
251
+ Mx[:src_subscript_o] + '\1' + Mx[:src_subscript_c]).
252
+ gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,
253
+ Mx[:src_superscript_o] + '\1' + Mx[:src_superscript_c]).
254
+ gsub(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,
255
+ Mx[:src_insert_o] + '\1' + Mx[:src_insert_c]).
256
+ gsub(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,
257
+ Mx[:src_cite_o] + '\1' + Mx[:src_cite_c]).
258
+ gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,
259
+ Mx[:src_strike_o] + '\1' + Mx[:src_strike_c]).
260
+ gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,
261
+ Mx[:src_monospace_o] + '\1' + Mx[:src_monospace_c])
262
+ unless dob.is==:code
263
+ dob.obj=dob.obj.
264
+ gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1').
265
+ gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').
266
+ gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
267
+ '\1 [link: <\2>]').
268
+ gsub(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}image/,
269
+ '\1 [link: local image]').
270
+ gsub(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,'\1')
271
+ dob.obj,notes=extract_endnotes(dob.obj,endnotes_)
272
+ dob.obj=dob.obj.
273
+ gsub(/#{Mx[:gl_o]}(?:#lt|#060)#{Mx[:gl_c]}/,'<').
274
+ gsub(/#{Mx[:gl_o]}(?:#gt|#062)#{Mx[:gl_c]}/,'>').
275
+ gsub(/#{Mx[:gl_o]}#(?:038|amp)#{Mx[:gl_c]}/,'&').
276
+ gsub(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!').
277
+ gsub(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#').
278
+ gsub(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*').
279
+ gsub(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-').
280
+ gsub(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/').
281
+ gsub(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_').
282
+ gsub(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{').
283
+ gsub(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}').
284
+ gsub(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~').
285
+ gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©')
286
+ end
287
+ dob=block_(dob)
288
+ dob=code_(dob)
289
+ dob.obj=dob.obj.gsub(/#{Mx[:br_page]}\s*|#{Mx[:br_page_new]}/,''). # remove page breaks
290
+ gsub(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1').
291
+ gsub(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,''). # remove name links
292
+ gsub(/&nbsp;|#{Mx[:nbsp]}/,' '). # decide on
293
+ gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,
294
+ ' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]")
295
+ gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,
296
+ ' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]")
297
+ gsub(/(?:^|[^_\\])\{\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*\}\S+/,
298
+ '[image: "\1"]')
299
+ [dob,notes]
300
+ end
301
+ def object_marks
302
+ @txtobj
303
+ end
304
+ self
305
+ end
306
+ end
307
+ __END__
@@ -0,0 +1,1702 @@
1
+ # encoding: utf-8
2
+ =begin
3
+
4
+ * Name: SiSU
5
+
6
+ ** Description: documents, structuring, processing, publishing, search
7
+ *** internationalisation
8
+
9
+ ** Author: Ralph Amissah
10
+ <ralph@amissah.com>
11
+ <ralph.amissah@gmail.com>
12
+
13
+ ** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
14
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
15
+ All Rights Reserved.
16
+
17
+ ** License: GPL 3 or later:
18
+
19
+ SiSU, a framework for document structuring, publishing and search
20
+
21
+ Copyright (C) Ralph Amissah
22
+
23
+ This program is free software: you can redistribute it and/or modify it
24
+ under the terms of the GNU General Public License as published by the Free
25
+ Software Foundation, either version 3 of the License, or (at your option)
26
+ any later version.
27
+
28
+ This program is distributed in the hope that it will be useful, but WITHOUT
29
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
30
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
31
+ more details.
32
+
33
+ You should have received a copy of the GNU General Public License along with
34
+ this program. If not, see <http://www.gnu.org/licenses/>.
35
+
36
+ If you have Internet connection, the latest version of the GPL should be
37
+ available at these locations:
38
+ <http://www.fsf.org/licensing/licenses/gpl.html>
39
+ <http://www.gnu.org/licenses/gpl.html>
40
+
41
+ <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
42
+
43
+ ** SiSU uses:
44
+ * Standard SiSU markup syntax,
45
+ * Standard SiSU meta-markup syntax, and the
46
+ * Standard SiSU object citation numbering and system
47
+
48
+ ** Hompages:
49
+ <http://www.jus.uio.no/sisu>
50
+ <http://www.sisudoc.org>
51
+
52
+ ** Git
53
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
54
+ <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/prog_text_translation.rb;hb=HEAD>
55
+
56
+ =end
57
+ module SiSU_Translate
58
+ require_relative 'se' # se.rb
59
+ include SiSU_Env; include SiSU_Param
60
+ class Source
61
+ def initialize(md,doc_lang,trans_str='')
62
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
63
+ @lang_class=case @doc_lang
64
+ when /American/i then English.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
65
+ when /English/i then English.new(md,doc_lang,trans_str)
66
+ when /French/i then French.new(md,doc_lang,trans_str)
67
+ when /German/i then German.new(md,doc_lang,trans_str)
68
+ when /Italian/i then Italian.new(md,doc_lang,trans_str)
69
+ when /Spanish/i then Spanish.new(md,doc_lang,trans_str)
70
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
71
+ Portuguese.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
72
+ when /Portuguese/i then Portuguese.new(md,doc_lang,trans_str)
73
+ when /Swedish/i then Swedish.new(md,doc_lang,trans_str)
74
+ when /Danish/i then Danish.new(md,doc_lang,trans_str)
75
+ when /Finnish/i then Finnish.new(md,doc_lang,trans_str)
76
+ when /Norwegian/i then Norwegian.new(md,doc_lang,trans_str)
77
+ when /Icelandic/i then Icelandic.new(md,doc_lang,trans_str)
78
+ when /Dutch/i then Dutch.new(md,doc_lang,trans_str)
79
+ when /Estonian/i then Estonian.new(md,doc_lang,trans_str)
80
+ when /Hungarian/i then Hungarian.new(md,doc_lang,trans_str)
81
+ when /Polish/i then Polish.new(md,doc_lang,trans_str)
82
+ when /Romanian/i then Romanian.new(md,doc_lang,trans_str)
83
+ when /Russian/i then Russian.new(md,doc_lang,trans_str)
84
+ when /Greek/i then Greek.new(md,doc_lang,trans_str)
85
+ when /Ukranian/i then Ukranian.new(md,doc_lang,trans_str)
86
+ when /Turkish/i then Turkish.new(md,doc_lang,trans_str)
87
+ when /Slovenian/i then Slovenian.new(md,doc_lang,trans_str)
88
+ when /Croatian/i then Croatian.new(md,doc_lang,trans_str)
89
+ when /Slovak(?:ian)?/i then Slovak.new(md,doc_lang,trans_str)
90
+ when /Czech/i then Czech.new(md,doc_lang,trans_str)
91
+ when /Bulgarian/i then Bulgarian.new(md,doc_lang,trans_str)
92
+ else English.new(md,doc_lang,trans_str)
93
+ end
94
+ end
95
+ def filename
96
+ @lang_class.filename
97
+ end
98
+ def metadata
99
+ @lang_class.metadata
100
+ end
101
+ def filetype_description
102
+ @lang_class.filetype_description
103
+ end
104
+ def file_size
105
+ @lang_class.file_size
106
+ end
107
+ def sourcefile
108
+ @lang_class.sourcefile
109
+ end
110
+ def sourcefile_digest
111
+ @lang_class.sourcefile_digest
112
+ end
113
+ def full_title #dc
114
+ @lang_class.full_title
115
+ end
116
+ def title
117
+ @lang_class.title
118
+ end
119
+ def subtitle
120
+ @lang_class.subtitle
121
+ end
122
+ def author
123
+ @lang_class.author
124
+ end
125
+ def contributor
126
+ @lang_class.contributor
127
+ end
128
+ def translator
129
+ @lang_class.translator
130
+ end
131
+ def illustrator
132
+ @lang_class.illustrator
133
+ end
134
+ def publisher
135
+ @lang_class.publisher
136
+ end
137
+ def prepared_by
138
+ @lang_class.prepared_by
139
+ end
140
+ def digitized_by
141
+ @lang_class.digitized_by
142
+ end
143
+ def contents
144
+ @lang_class.contents
145
+ end
146
+ def subject
147
+ @lang_class.subject
148
+ end
149
+ def description #dc (watch)
150
+ @lang_class.description
151
+ end
152
+ def abstract
153
+ @lang_class.abstract
154
+ end
155
+ def type
156
+ @lang_class.type
157
+ end
158
+ def rights
159
+ @lang_class.rights
160
+ end
161
+ def date
162
+ @lang_class.date
163
+ end
164
+ def date_created
165
+ @lang_class.date_created
166
+ end
167
+ def date_available
168
+ @lang_class.date_available
169
+ end
170
+ def date_valid
171
+ @lang_class.date_valid
172
+ end
173
+ def date_modified
174
+ @lang_class.date_modified
175
+ end
176
+ def date_issued
177
+ @lang_class.date_issued
178
+ end
179
+ def language
180
+ @lang_class.language
181
+ end
182
+ def language_original
183
+ @lang_class.language_original
184
+ end
185
+ def format
186
+ @lang_class.format
187
+ end
188
+ def identifier
189
+ @lang_class.identifier
190
+ end
191
+ def source
192
+ @lang_class.source
193
+ end
194
+ def relation
195
+ @lang_class.relation
196
+ end
197
+ def coverage
198
+ @lang_class.coverage
199
+ end
200
+ def keywords
201
+ @lang_class.keywords
202
+ end
203
+ def comments
204
+ @lang_class.comments
205
+ end
206
+ def cls_loc
207
+ @lang_class.cls_loc
208
+ end
209
+ def cls_dewey
210
+ @lang_class.cls_dewey
211
+ end
212
+ def cls_oclc
213
+ @lang_class.cls_oclc
214
+ end
215
+ def cls_gutenberg
216
+ @lang_class.cls_gutenberg
217
+ end
218
+ def cls_isbn
219
+ @lang_class.cls_isbn
220
+ end
221
+ def prefix_a
222
+ @lang_class.prefix_a
223
+ end
224
+ def prefix_b
225
+ @lang_class.prefix_b
226
+ end
227
+ def topic_register
228
+ @lang_class.topic_register
229
+ end
230
+ def fns
231
+ @lang_class.fns
232
+ end
233
+ def word_count
234
+ @lang_class.word_count
235
+ end
236
+ def dgst
237
+ @lang_class.dgst
238
+ end
239
+ def sc_number
240
+ @lang_class.sc_number
241
+ end
242
+ def sc_date
243
+ @lang_class.sc_date
244
+ end
245
+ def last_generated
246
+ @lang_class.last_generated
247
+ end
248
+ def sisu_version
249
+ @lang_class.sisu_version
250
+ end
251
+ def ruby_version
252
+ @lang_class.ruby_version
253
+ end
254
+ def suggested_links
255
+ @lang_class.suggested_links
256
+ end
257
+ def language_version_list
258
+ @lang_class.language_version_list
259
+ end
260
+ def language
261
+ @lang_class.language
262
+ end
263
+ def manifest_description
264
+ @lang_class.manifest_description
265
+ end
266
+ def manifest_description_output
267
+ @lang_class.manifest_description_output
268
+ end
269
+ def manifest_description_metadata
270
+ @lang_class.manifest_description_metadata
271
+ end
272
+ def language_list_translated
273
+ @lang_class.language_list
274
+ end
275
+ def language_list
276
+ case @trans_str
277
+ when /American/i then 'American English' # tag depreciated, see iso 639-2
278
+ when /English/i then 'English'
279
+ when /French/i then 'français'
280
+ when /German/i then 'Deutsch'
281
+ when /Italian/i then 'Italiano'
282
+ when /Spanish/i then 'español'
283
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
284
+ 'Brazilian Português' # tag depreciated, see iso 639-2
285
+ when /Portuguese/i then 'Português'
286
+ when /Swedish/i then 'svenska'
287
+ when /Danish/i then 'dansk'
288
+ when /Finnish/i then 'suomi'
289
+ when /Norwegian/i then 'norsk'
290
+ when /Icelandic/i then 'Icelandic'
291
+ when /Dutch/i then 'Nederlands'
292
+ when /Estonian/i then 'Estonian'
293
+ when /Hungarian/i then 'Hungarian'
294
+ when /Polish/i then 'polski'
295
+ when /Romanian/i then 'română'
296
+ when /Russian/i then 'Русский (Russkij)'
297
+ when /Greek/i then 'Ελληνικά (Ellinika)'
298
+ when /Ukranian/i then 'українська (ukrajins\'ka)'
299
+ when /Turkish/i then 'Türkçe'
300
+ when /Slovenian/i then 'Slovenian'
301
+ when /Croatian/i then 'Croatian'
302
+ when /Slovak(?:ian)?/i then 'slovensky' #slovensky ?
303
+ when /Czech/i then 'česky'
304
+ when /Bulgarian/i then 'Български (Bəlgarski)'
305
+ when /Japanese/i then '日本語 (Nihongo)'
306
+ when /Korean/i then '한국어 (Hangul)'
307
+ #when /Catalan/i then 'català'
308
+ else 'English'
309
+ end
310
+ #check on 中文 and عربي
311
+ end
312
+ end
313
+ class English
314
+ def initialize(md,doc_lang,trans_str)
315
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
316
+ end
317
+ def filename
318
+ 'filename'
319
+ end
320
+ def filetype_description
321
+ 'filetype description'
322
+ end
323
+ def metadata
324
+ 'metadata'
325
+ end
326
+ def file_size
327
+ 'file size'
328
+ end
329
+ def full_title #dc
330
+ 'Title'
331
+ end
332
+ def title
333
+ 'Title'
334
+ end
335
+ def subtitle
336
+ 'Subtitle'
337
+ end
338
+ def author
339
+ 'Author'
340
+ end
341
+ def author #dc
342
+ 'Creator'
343
+ end
344
+ def contributor #dc
345
+ 'Contributor'
346
+ end
347
+ def translator
348
+ 'Translator'
349
+ end
350
+ def illustrator
351
+ 'Illustrator'
352
+ end
353
+ def publisher #dc
354
+ 'Publisher'
355
+ end
356
+ def prepared_by
357
+ 'Prepared by'
358
+ end
359
+ def digitized_by
360
+ 'Digitized by'
361
+ end
362
+ def contents
363
+ 'Contents'
364
+ end
365
+ def subject #dc
366
+ 'Subject'
367
+ end
368
+ def description #dc (watch)
369
+ 'Description'
370
+ end
371
+ def abstract #dc
372
+ 'Abstract'
373
+ end
374
+ def type #dc
375
+ 'Type'
376
+ end
377
+ def rights #dc
378
+ 'Rights'
379
+ end
380
+ def date #dc
381
+ 'Date'
382
+ end
383
+ def date_created #dc
384
+ 'Date created'
385
+ end
386
+ def date_issued #dc
387
+ 'Date issued'
388
+ end
389
+ def date_available #dc
390
+ 'Date available'
391
+ end
392
+ def date_modified #dc
393
+ 'Date modified'
394
+ end
395
+ def date_valid #dc
396
+ 'Date valid'
397
+ end
398
+ def language #dc
399
+ 'Language'
400
+ end
401
+ def language_original
402
+ 'Original Language'
403
+ end
404
+ def format #dc
405
+ 'Format'
406
+ end
407
+ def identifier #dc
408
+ 'Identifier'
409
+ end
410
+ def source #dc
411
+ 'Source'
412
+ end
413
+ def relation #dc
414
+ 'Relation'
415
+ end
416
+ def coverage #dc
417
+ 'Coverage'
418
+ end
419
+ def keywords
420
+ 'Keywords'
421
+ end
422
+ def comments
423
+ 'Comments'
424
+ end
425
+ def cls_loc
426
+ 'Classify Library of Congress'
427
+ end
428
+ def cls_dewey
429
+ 'Classify Dewey'
430
+ end
431
+ def cls_oclc
432
+ 'Classify OCLC number'
433
+ end
434
+ def cls_gutenberg
435
+ 'Classify Project Gutenberg'
436
+ end
437
+ def cls_isbn
438
+ 'Classify ISBN'
439
+ end
440
+ def prefix_a
441
+ 'Prefix (a)'
442
+ end
443
+ def prefix_b
444
+ 'Prefix (b)'
445
+ end
446
+ def topic_register
447
+ 'Topics Registered'
448
+ end
449
+ def sourcefile
450
+ 'Sourcefile'
451
+ end
452
+ def word_count
453
+ 'Word Count approximate'
454
+ end
455
+ def sourcefile_digest
456
+ 'Sourcefile Digest'
457
+ end
458
+ def digest_md5
459
+ 'Sourcefile Digest (md5)'
460
+ end
461
+ def digest_sha256
462
+ 'Sourcefile Digest (sha256)'
463
+ end
464
+ def sc_number
465
+ 'Document (RCS/CVS) number'
466
+ end
467
+ def sc_date
468
+ 'Document (RCS/CVS) number'
469
+ end
470
+ def last_generated
471
+ 'Document (ao) last generated'
472
+ end
473
+ def sisu_version
474
+ 'Generated by'
475
+ end
476
+ def ruby_version
477
+ 'Ruby version'
478
+ end
479
+ def suggested_links
480
+ 'metadata suggested links'
481
+ end
482
+ def language_version_list
483
+ 'Document Language Versions, manifests'
484
+ end
485
+ def manifest_description
486
+ 'SiSU manifest of document filetypes and metadata'
487
+ end
488
+ def manifest_description_output
489
+ 'Available document filetypes'
490
+ end
491
+ def manifest_description_metadata
492
+ 'Document Metadata'
493
+ end
494
+ def language_list_translated
495
+ case @trans_str
496
+ when /American/i then 'American English' # tag depreciated, see iso 639-2
497
+ when /English/i then 'English'
498
+ when /French/i then 'French'
499
+ when /German/i then 'German'
500
+ when /Italian/i then 'Italian'
501
+ when /Spanish/i then 'Spanish'
502
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
503
+ 'Brazilian Portuguese' # tag depreciated, see iso 639-2
504
+ when /Portuguese/i then 'Portuguese'
505
+ when /Swedish/i then 'Swedish'
506
+ when /Danish/i then 'Danish'
507
+ when /Finnish/i then 'Finnish'
508
+ when /Norwegian/i then 'Norwegian'
509
+ when /Icelandic/i then 'Icelandic'
510
+ when /Dutch/i then 'Dutch'
511
+ when /Estonian/i then 'Estonian'
512
+ when /Hungarian/i then 'Hungarian'
513
+ when /Polish/i then 'Polish'
514
+ when /Romanian/i then 'Romanian'
515
+ when /Russian/i then 'Russian'
516
+ when /Greek/i then 'Greek'
517
+ when /Ukranian/i then 'Ukranian'
518
+ when /Turkish/i then 'Turkish'
519
+ when /Slovenian/i then 'Slovenian'
520
+ when /Croatian/i then 'Croatian'
521
+ when /Slovak(?:ian)?/i then 'Slovakian'
522
+ when /Czech/i then 'Czech'
523
+ when /Bulgarian/i then 'Bulgarian'
524
+ else @trans_str
525
+ end
526
+ end
527
+ end
528
+ class French
529
+ def initialize(md,doc_lang,trans_str)
530
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
531
+ end
532
+ def filename
533
+ 'nom de fichier'
534
+ end
535
+ def filetype_description
536
+ description
537
+ end
538
+ def metadata
539
+ 'metadonnées'
540
+ end
541
+ def file_size
542
+ 'taille'
543
+ end
544
+ def full_title #dc
545
+ 'Titre'
546
+ end
547
+ def title
548
+ 'Titre'
549
+ end
550
+ def subtitle
551
+ 'Sous titre'
552
+ end
553
+ def author
554
+ 'Auteur'
555
+ end
556
+ def author #dc
557
+ 'Auteur'
558
+ end
559
+ def contributor #dc
560
+ 'Contributeur'
561
+ end
562
+ def translator
563
+ 'Traducteur'
564
+ end
565
+ def illustrator
566
+ 'Illustrateur'
567
+ end
568
+ def publisher #dc
569
+ 'Éditeur'
570
+ end
571
+ def prepared_by
572
+ 'Préparé par'
573
+ end
574
+ def digitized_by
575
+ 'Numérisé par'
576
+ end
577
+ def contents
578
+ 'Contents' #translate
579
+ end
580
+ def subject #dc
581
+ 'Sujet'
582
+ end
583
+ def description #dc (watch)
584
+ 'Description'
585
+ end
586
+ def abstract #dc
587
+ 'Résumé'
588
+ end
589
+ def type #dc
590
+ 'Type'
591
+ end
592
+ def rights #dc
593
+ 'Droits relatifs à la ressource'
594
+ end
595
+ def date #dc
596
+ 'Date'
597
+ end
598
+ def date_created #dc
599
+ 'Date de création'
600
+ end
601
+ def date_issued #dc
602
+ 'Date de publication'
603
+ end
604
+ def date_available #dc
605
+ 'Date de mise à disposition'
606
+ end
607
+ def date_modified #dc
608
+ 'Date de modification'
609
+ end
610
+ def date_valid #dc
611
+ 'Date de validité'
612
+ end
613
+ def language #dc
614
+ 'Langue'
615
+ end
616
+ def language_original
617
+ 'Langue originale'
618
+ end
619
+ def format #dc
620
+ 'Format'
621
+ end
622
+ def identifier #dc
623
+ 'Identifiant'
624
+ end
625
+ def source #dc
626
+ 'Source'
627
+ end
628
+ def relation #dc
629
+ 'Lien'
630
+ end
631
+ def coverage #dc
632
+ 'Portée du document'
633
+ end
634
+ def keywords
635
+ 'Mots clef'
636
+ end
637
+ def comments
638
+ 'Commentaires'
639
+ end
640
+ def cls_loc
641
+ 'Classification de la bibliothèque du congres'
642
+ end
643
+ def cls_dewey
644
+ 'Classification Dewey'
645
+ end
646
+ def cls_oclc # fix
647
+ 'Classify OCLC number'
648
+ end
649
+ def cls_gutenberg
650
+ 'Classification du project Gutenberg'
651
+ end
652
+ def cls_isbn
653
+ 'Classification ISBN'
654
+ end
655
+ def prefix_a
656
+ 'Préfixe (a)'
657
+ end
658
+ def prefix_b
659
+ 'Préfixe (b)'
660
+ end
661
+ def topic_register
662
+ 'Topics Registered'
663
+ end
664
+ def sourcefile
665
+ 'Fichier source'
666
+ end
667
+ def word_count
668
+ 'Nombre approximatif de mots'
669
+ end
670
+ def sourcefile_digest
671
+ 'Condensé du fichier source'
672
+ end
673
+ def digest_md5
674
+ 'Condensé du fichier source (md5)'
675
+ end
676
+ def digest_sha256
677
+ 'Condensé du fichier source (sha256)'
678
+ end
679
+ def sc_number
680
+ 'Numéro (RCS/CVS) du document'
681
+ end
682
+ def sc_date
683
+ 'Numéro (RCS/CVS) du document'
684
+ end
685
+ def last_generated
686
+ 'Dernière production du document (metaverse)'
687
+ end
688
+ def sisu_version
689
+ 'Généré par'
690
+ end
691
+ def ruby_version
692
+ 'Version de Ruby'
693
+ end
694
+ def suggested_links
695
+ 'Liens suggérés'
696
+ end
697
+ def language_version_list
698
+ 'Versions des langues du document, manifestes'
699
+ end
700
+ def manifest_description
701
+ 'SiSU manifest of document filetypes and metadata'
702
+ end
703
+ def manifest_description_output
704
+ 'Manifeste SiSU du document généré'
705
+ end
706
+ def manifest_description_metadata
707
+ 'Manifeste SiSU des métadonnées du document'
708
+ end
709
+ def language_list_translated
710
+ case @trans_str
711
+ when /American/i then 'Anglais americain' # tag depreciated, see iso 639-2
712
+ when /English/i then 'Anglais'
713
+ when /French/i then 'Français'
714
+ when /German/i then 'Allemand'
715
+ when /Italian/i then 'Italien'
716
+ when /Spanish/i then 'Espagnol'
717
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
718
+ 'Portugais brésilien' # tag depreciated, see iso 639-2
719
+ when /Portuguese/i then 'Portugais'
720
+ when /Swedish/i then 'Suédois'
721
+ when /Danish/i then 'Danois'
722
+ when /Finnish/i then 'Finnois'
723
+ when /Norwegian/i then 'Norvégien'
724
+ when /Icelandic/i then 'Islandais'
725
+ when /Dutch/i then 'Néerlandais'
726
+ when /Estonian/i then 'Estonien'
727
+ when /Hungarian/i then 'Hongrois'
728
+ when /Polish/i then 'Polonais'
729
+ when /Romanian/i then 'Roumain'
730
+ when /Russian/i then 'Russe'
731
+ when /Greek/i then 'Grec'
732
+ when /Ukranian/i then 'Ukrainien'
733
+ when /Turkish/i then 'Turc'
734
+ when /Slovenian/i then 'Slovène'
735
+ when /Croatian/i then 'Croate'
736
+ when /Slovak(?:ian)?/i then 'Slovaque'
737
+ when /Czech/i then 'Tcheque'
738
+ when /Bulgarian/i then 'Bulgare'
739
+ else @trans_str
740
+ end
741
+ end
742
+ end
743
+ class German
744
+ def initialize(md,doc_lang,trans_str)
745
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
746
+ end
747
+ def filename
748
+ 'Dateiname'
749
+ end
750
+ def filetype_description
751
+ description
752
+ end
753
+ def metadata
754
+ 'Metadata'
755
+ end
756
+ def file_size
757
+ 'Dateigrösse'
758
+ end
759
+ def full_title #dc
760
+ 'Titel'
761
+ end
762
+ def title
763
+ 'Titel'
764
+ end
765
+ def subtitle
766
+ 'Untertitel'
767
+ end
768
+ def author
769
+ 'Autor'
770
+ end
771
+ def contributor #dc
772
+ 'Mitautor'
773
+ end
774
+ def translator
775
+ 'Übersetzung'
776
+ end
777
+ def illustrator
778
+ 'Illustrator'
779
+ end
780
+ def publisher
781
+ 'Herausgeber'
782
+ end
783
+ def prepared_by
784
+ 'gesetzt von'
785
+ end
786
+ def digitized_by
787
+ 'digitalisiert von'
788
+ end
789
+ def contents
790
+ 'Contents' #translate
791
+ end
792
+ def subject
793
+ 'Titel'
794
+ end
795
+ def description #dc (watch)
796
+ 'Beschreibung'
797
+ end
798
+ def abstract #dc
799
+ 'Abstract'
800
+ end
801
+ def type
802
+ 'Typ'
803
+ end
804
+ def rights
805
+ 'Rechte'
806
+ end
807
+ def date
808
+ 'Datum'
809
+ end
810
+ def date_created
811
+ 'Erstellung'
812
+ end
813
+ def date_issued
814
+ 'Herausgabe'
815
+ end
816
+ def date_available
817
+ 'Veröffentlichung'
818
+ end
819
+ def date_modified
820
+ 'Modifikation'
821
+ end
822
+ def date_valid
823
+ 'Gültigkeit'
824
+ end
825
+ def language
826
+ 'Sprache'
827
+ end
828
+ def language_original
829
+ 'Ursprungssprache'
830
+ end
831
+ def format #dc
832
+ 'Format'
833
+ end
834
+ def identifier #dc
835
+ 'Bezeichnung'
836
+ end
837
+ def source #dc
838
+ 'Quelle'
839
+ end
840
+ def relation #dc
841
+ 'Beziehung'
842
+ end
843
+ def coverage #dc
844
+ 'Eingrenzung'
845
+ end
846
+ def keywords
847
+ 'Schlüsselwörter'
848
+ end
849
+ def comments
850
+ 'Kommentare'
851
+ end
852
+ def cls_loc
853
+ 'Klassifikation nach Library of Congress'
854
+ end
855
+ def cls_dewey
856
+ 'Klassifikation nach Dewey'
857
+ end
858
+ def cls_oclc # fix
859
+ 'Classify OCLC number'
860
+ end
861
+ def cls_gutenberg
862
+ 'Klassifikation nach Projekt Gutenberg'
863
+ end
864
+ def cls_isbn
865
+ 'Klassifikation nach ISBN'
866
+ end
867
+ def prefix_a
868
+ 'Präfix (a)'
869
+ end
870
+ def prefix_b
871
+ 'Präfix (b)'
872
+ end
873
+ def topic_register
874
+ 'Topics Registered'
875
+ end
876
+ def sourcefile
877
+ 'Quelldatei'
878
+ end
879
+ def word_count
880
+ 'Anzahl Wörter'
881
+ end
882
+ def sourcefile_digest
883
+ 'Quelldatei Digest'
884
+ end
885
+ def digest_md5
886
+ 'Prüfsumme der Quelldatei (MD5)'
887
+ end
888
+ def digest_sha256
889
+ 'Prüfsumme der Quelldatei (SHA256)'
890
+ end
891
+ def sc_number
892
+ 'Dokumentversion (RCS/CVS)'
893
+ end
894
+ def sc_date
895
+ 'Dokumentdatum (RCS/CVS)'
896
+ end
897
+ def last_generated
898
+ 'Letzte Erstellung (metaverse)'
899
+ end
900
+ def sisu_version
901
+ 'erstellt bei'
902
+ end
903
+ def ruby_version
904
+ 'Ruby Version'
905
+ end
906
+ def suggested_links
907
+ 'empfohlene Links'
908
+ end
909
+ def language_version_list
910
+ 'verfügbare Sprachen'
911
+ end
912
+ def manifest_description
913
+ 'SiSU manifest of document filetypes and metadata'
914
+ end
915
+ def manifest_description_output
916
+ 'SiSU Zusammenfassung des Dokumentes'
917
+ end
918
+ def manifest_description_metadata
919
+ 'SiSU Zusammenfassung der Metadaten'
920
+ end
921
+ def language_list_translated
922
+ case @trans_str
923
+ when /American/i then 'Amerikanisch-Englisch' # tag depreciated, see iso 639-2
924
+ when /English/i then 'Englisch'
925
+ when /French/i then 'Französisch'
926
+ when /German/i then 'Deutsch'
927
+ when /Italian/i then 'Italienisch'
928
+ when /Spanish/i then 'Spanisch'
929
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
930
+ 'Brasilianisch-Portugiesisch' # tag depreciated, see iso 639-2
931
+ when /Portuguese/i then 'Portugiesisch'
932
+ when /Swedish/i then 'Schwedisch'
933
+ when /Danish/i then 'Dänisch'
934
+ when /Finnish/i then 'Finnisch'
935
+ when /Norwegian/i then 'Norwegisch'
936
+ when /Icelandic/i then 'Isländisch'
937
+ when /Dutch/i then 'Niederländisch'
938
+ when /Estonian/i then 'Estnisch'
939
+ when /Hungarian/i then 'Ungarisch'
940
+ when /Polish/i then 'Polnisch'
941
+ when /Romanian/i then 'Rumänisch'
942
+ when /Russian/i then 'Russisch'
943
+ when /Greek/i then 'Griechisch'
944
+ when /Ukranian/i then 'Ukrainisch'
945
+ when /Turkish/i then 'Türkisch'
946
+ when /Slovenian/i then 'Slovenisch'
947
+ when /Croatian/i then 'Kroatisch'
948
+ when /Slovak(?:ian)?/i then 'Slovakisch'
949
+ when /Czech/i then 'Tschechisch'
950
+ when /Bulgarian/i then 'Bulgarisch'
951
+ else @trans_str
952
+ end
953
+ end
954
+ end
955
+ class Spanish
956
+ def initialize(md,doc_lang,trans_str)
957
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
958
+ end
959
+ def filename
960
+ 'nombre del fichero'
961
+ end
962
+ def filetype_description
963
+ description
964
+ end
965
+ def metadata
966
+ 'metadatos'
967
+ end
968
+ def file_size
969
+ 'tamaño del fichero'
970
+ end
971
+ def full_title #dc
972
+ 'Título'
973
+ end
974
+ def title
975
+ 'Título'
976
+ end
977
+ def subtitle
978
+ 'Subtítulo'
979
+ end
980
+ def author #dc
981
+ 'Creador'
982
+ end
983
+ def contributor #dc
984
+ 'Contribuidor'
985
+ end
986
+ def translator
987
+ 'Traductor'
988
+ end
989
+ def illustrator
990
+ 'Ilustrador'
991
+ end
992
+ def publisher #dc
993
+ 'Editor'
994
+ end
995
+ def prepared_by
996
+ 'Preparado por'
997
+ end
998
+ def digitized_by
999
+ 'Digitalizado por'
1000
+ end
1001
+ def contents
1002
+ 'Contents' #translate
1003
+ end
1004
+ def subject #dc
1005
+ 'Asunto'
1006
+ end
1007
+ def description #dc (watch)
1008
+ 'Descripción'
1009
+ end
1010
+ def abstract #dc
1011
+ 'Resumen'
1012
+ end
1013
+ def type #dc
1014
+ 'Tipo'
1015
+ end
1016
+ def rights #dc
1017
+ 'Derechos'
1018
+ end
1019
+ def date #dc
1020
+ 'Fecha'
1021
+ end
1022
+ def date_created #dc
1023
+ 'Fecha de creación'
1024
+ end
1025
+ def date_issued #dc
1026
+ 'Fecha de publicación'
1027
+ end
1028
+ def date_available #dc
1029
+ 'Fecha de disponibilidad'
1030
+ end
1031
+ def date_modified #dc
1032
+ 'Fecha de modificación'
1033
+ end
1034
+ def date_valid #dc
1035
+ 'Fecha de valided'
1036
+ end
1037
+ def language #dc
1038
+ 'Idioma'
1039
+ end
1040
+ def language_original
1041
+ 'Lenguaje original'
1042
+ end
1043
+ def format #dc
1044
+ 'Formato'
1045
+ end
1046
+ def identifier #dc
1047
+ 'Identificador'
1048
+ end
1049
+ def source #dc
1050
+ 'Fuente'
1051
+ end
1052
+ def relation #dc
1053
+ 'Relación'
1054
+ end
1055
+ def coverage #dc
1056
+ 'Cobertura'
1057
+ end
1058
+ def keywords
1059
+ 'Palabras claves'
1060
+ end
1061
+ def comments
1062
+ 'Comentarios'
1063
+ end
1064
+ def cls_loc
1065
+ 'Clasificación Biblioteca del Congreso'
1066
+ end
1067
+ def cls_dewey
1068
+ 'Clasificación Dewey'
1069
+ end
1070
+ def cls_oclc # fix
1071
+ 'Classify OCLC number'
1072
+ end
1073
+ def cls_gutenberg
1074
+ 'Clasificación Proyecto Gutenberg'
1075
+ end
1076
+ def cls_isbn
1077
+ 'Clasificación ISBN'
1078
+ end
1079
+ def prefix_a
1080
+ 'Prefijo (a)'
1081
+ end
1082
+ def prefix_b
1083
+ 'Prefijo (b)'
1084
+ end
1085
+ def topic_register
1086
+ 'Topics Registered'
1087
+ end
1088
+ def sourcefile
1089
+ 'Fichero fuente'
1090
+ end
1091
+ def word_count
1092
+ 'Número de palabras apróximado'
1093
+ end
1094
+ def sourcefile_digest
1095
+ 'Resumen del fichero fuente'
1096
+ end
1097
+ def digest_md5
1098
+ 'Resumen del fichero fuente (md5)'
1099
+ end
1100
+ def digest_sha256
1101
+ 'Resumen del fichero fuente (sha256)'
1102
+ end
1103
+ def sc_number
1104
+ 'Versión (RCS/CVS) del documento'
1105
+ end
1106
+ def sc_date
1107
+ 'Versión (RCS/CVS) del documento'
1108
+ end
1109
+ def last_generated
1110
+ 'Última generación (metaverse) del documento'
1111
+ end
1112
+ def sisu_version
1113
+ 'Generado por'
1114
+ end
1115
+ def ruby_version
1116
+ 'Versión de Ruby'
1117
+ end
1118
+ def suggested_links
1119
+ 'enlaces sugeridos de metadatos'
1120
+ end
1121
+ def language_version_list
1122
+ 'Document Language Versions, manifests'
1123
+ end
1124
+ def manifest_description
1125
+ 'SiSU manifest of document filetypes and metadata'
1126
+ end
1127
+ def manifest_description_output
1128
+ 'Manifiesto SiSU de salida generada'
1129
+ end
1130
+ def manifest_description_metadata
1131
+ 'Manifiesto SiSU de metadatos de documento'
1132
+ end
1133
+ def language_list_translated
1134
+ case @trans_str
1135
+ when /American/i then 'Inglés Americano' # tag depreciated, see iso 639-2
1136
+ when /English/i then 'Inglés'
1137
+ when /French/i then 'Francés'
1138
+ when /German/i then 'Alemán'
1139
+ when /Italian/i then 'Italiano'
1140
+ when /Spanish/i then 'Español'
1141
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
1142
+ 'Portugués de Brasil' # tag depreciated, see iso 639-2
1143
+ when /Portuguese/i then 'Portugués'
1144
+ when /Swedish/i then 'Sueco'
1145
+ when /Danish/i then 'Danés'
1146
+ when /Finnish/i then 'Finés'
1147
+ when /Norwegian/i then 'Noruego'
1148
+ when /Icelandic/i then 'Islandés'
1149
+ when /Dutch/i then 'Holandés'
1150
+ when /Estonian/i then 'Estonio'
1151
+ when /Hungarian/i then 'Húngaro'
1152
+ when /Polish/i then 'Polaco'
1153
+ when /Romanian/i then 'Rumano'
1154
+ when /Russian/i then 'Ruso'
1155
+ when /Greek/i then 'Griego'
1156
+ when /Ukranian/i then 'Ucraniano'
1157
+ when /Turkish/i then 'Turco'
1158
+ when /Slovenian/i then 'Eslovaco'
1159
+ when /Croatian/i then 'Croata'
1160
+ when /Slovak(?:ian)?/i then 'Eslovaco'
1161
+ when /Czech/i then 'Checo'
1162
+ when /Bulgarian/i then 'Búlgaro'
1163
+ else @trans_str
1164
+ end
1165
+ end
1166
+ end
1167
+ class Italian
1168
+ def initialize(md,doc_lang,trans_str)
1169
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
1170
+ end
1171
+ def filename
1172
+ 'nome del file'
1173
+ end
1174
+ def filetype_description
1175
+ description
1176
+ end
1177
+ def metadata
1178
+ 'metadati'
1179
+ end
1180
+ def file_size
1181
+ 'dimensione'
1182
+ end
1183
+ def full_title #dc
1184
+ 'Titolo'
1185
+ end
1186
+ def title
1187
+ 'Titolo'
1188
+ end
1189
+ def subtitle
1190
+ 'Sottotitolo'
1191
+ end
1192
+ def author #dc
1193
+ 'Autore'
1194
+ end
1195
+ def contributor #dc
1196
+ 'Contributore'
1197
+ end
1198
+ def translator
1199
+ 'Traduttore'
1200
+ end
1201
+ def illustrator
1202
+ 'Illustratore'
1203
+ end
1204
+ def publisher #dc
1205
+ 'Casa editrice'
1206
+ end
1207
+ def prepared_by
1208
+ 'Preparato da'
1209
+ end
1210
+ def digitized_by
1211
+ 'Convertito in digitale da'
1212
+ end
1213
+ def contents
1214
+ 'Contents' #translate
1215
+ end
1216
+ def subject #dc
1217
+ 'Oggetto'
1218
+ end
1219
+ def description #dc (watch)
1220
+ 'Descrizione'
1221
+ end
1222
+ def abstract #dc
1223
+ 'Abstract'
1224
+ end
1225
+ def type #dc
1226
+ 'Tipo'
1227
+ end
1228
+ def rights #dc
1229
+ 'Diritti del lettore'
1230
+ end
1231
+ def date #dc
1232
+ 'Data'
1233
+ end
1234
+ def date_created #dc
1235
+ 'Data di creazione'
1236
+ end
1237
+ def date_issued #dc
1238
+ 'Data di pubblicazione'
1239
+ end
1240
+ def date_available #dc
1241
+ 'Data di effettiva disponibilità'
1242
+ end
1243
+ def date_modified #dc
1244
+ 'Data di ultima modifica'
1245
+ end
1246
+ def date_valid #dc
1247
+ 'Data di inizo validità'
1248
+ end
1249
+ def language #dc
1250
+ 'Lingua'
1251
+ end
1252
+ def language_original
1253
+ 'Lingua originale'
1254
+ end
1255
+ def format #dc
1256
+ 'Formato'
1257
+ end
1258
+ def identifier #dc
1259
+ 'Indentificatore'
1260
+ end
1261
+ def source #dc
1262
+ 'Fonte'
1263
+ end
1264
+ def relation #dc
1265
+ 'Collegamento'
1266
+ end
1267
+ def coverage #dc
1268
+ 'Ambito'
1269
+ end
1270
+ def keywords
1271
+ 'Parole chiave'
1272
+ end
1273
+ def comments
1274
+ 'Commenti'
1275
+ end
1276
+ def cls_loc
1277
+ 'Classificazione della Library of Congress'
1278
+ end
1279
+ def cls_dewey
1280
+ 'Classificazione Dewey'
1281
+ end
1282
+ def cls_oclc # fix
1283
+ 'Classify OCLC number'
1284
+ end
1285
+ def cls_gutenberg
1286
+ 'Classificazione del Progetto Gutenberg'
1287
+ end
1288
+ def cls_isbn
1289
+ 'Numero ISBN'
1290
+ end
1291
+ def prefix_a
1292
+ 'Premessa (a)'
1293
+ end
1294
+ def prefix_b
1295
+ 'Premessa (b)'
1296
+ end
1297
+ def topic_register
1298
+ 'Topics Registered'
1299
+ end
1300
+ def sourcefile
1301
+ 'Sorgente'
1302
+ end
1303
+ def word_count
1304
+ 'Numero approssimativo di parole'
1305
+ end
1306
+ def sourcefile_digest
1307
+ 'Checksum file sorgente'
1308
+ end
1309
+ def digest_md5
1310
+ 'Checksum file sorgente (md5)'
1311
+ end
1312
+ def digest_sha256
1313
+ 'Checksum file sorgente (sha256)'
1314
+ end
1315
+ def sc_number
1316
+ 'Numero di revisione (RCS/CVS)'
1317
+ end
1318
+ def sc_date
1319
+ 'Numero di revisione (RCS/CVS)'
1320
+ end
1321
+ def last_generated
1322
+ 'Data di ultima generazione (ao metaverse)'
1323
+ end
1324
+ def sisu_version
1325
+ 'Generato da'
1326
+ end
1327
+ def ruby_version
1328
+ 'Ruby versione'
1329
+ end
1330
+ def suggested_links
1331
+ 'Link suggeriti'
1332
+ end
1333
+ def language_version_list
1334
+ 'Traduzioni disponibili'
1335
+ end
1336
+ def manifest_description
1337
+ 'SiSU manifest of document filetypes and metadata'
1338
+ end
1339
+ def manifest_description_output
1340
+ 'Inventario SiSU dell\'output generato'
1341
+ end
1342
+ def manifest_description_metadata
1343
+ 'Inventario SiSU dei metadati'
1344
+ end
1345
+ def language_list_translated
1346
+ case @trans_str
1347
+ when /American/i then 'Inglese USA' # tag depreciated, see iso 639-2
1348
+ when /English/i then 'Inglese'
1349
+ when /French/i then 'Francese'
1350
+ when /German/i then 'Tedesco'
1351
+ when /Italian/i then 'Italiano'
1352
+ when /Spanish/i then 'Spagnolo'
1353
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
1354
+ 'Portoguese (Brasile)' # tag depreciated, see iso 639-2
1355
+ when /Portuguese/i then 'Portoguese'
1356
+ when /Swedish/i then 'Svedese'
1357
+ when /Danish/i then 'Danese'
1358
+ when /Finnish/i then 'Finlandese'
1359
+ when /Norwegian/i then 'Norvegese'
1360
+ when /Icelandic/i then 'Islandese'
1361
+ when /Dutch/i then 'Olandese'
1362
+ when /Estonian/i then 'Estone'
1363
+ when /Hungarian/i then 'Ungherese'
1364
+ when /Polish/i then 'Polacco'
1365
+ when /Romanian/i then 'Romeno'
1366
+ when /Russian/i then 'Russo'
1367
+ when /Greek/i then 'Greco'
1368
+ when /Ukranian/i then 'Ucraino'
1369
+ when /Turkish/i then 'Turco'
1370
+ when /Slovenian/i then 'Sloveno'
1371
+ when /Croatian/i then 'Croato'
1372
+ when /Slovak(?:ian)?/i then 'Slovacco'
1373
+ when /Czech/i then 'Ceco'
1374
+ when /Bulgarian/i then 'Bulgaro'
1375
+ else @trans_str
1376
+ end
1377
+ end
1378
+ end
1379
+ class Finnish
1380
+ def initialize(md,doc_lang,trans_str)
1381
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
1382
+ end
1383
+ def filename
1384
+ 'tiedostonimi'
1385
+ end
1386
+ def filetype_description
1387
+ description
1388
+ end
1389
+ def metadata
1390
+ 'metadata'
1391
+ end
1392
+ def file_size
1393
+ 'tiedoston koko'
1394
+ end
1395
+ def full_title #dc
1396
+ 'otsikko'
1397
+ end
1398
+ def title
1399
+ 'Otsikko'
1400
+ end
1401
+ def subtitle
1402
+ 'Alaotsikko'
1403
+ end
1404
+ def author #dc
1405
+ 'tekijä'
1406
+ end
1407
+ def contributor #dc
1408
+ 'osallistuja'
1409
+ end
1410
+ def translator
1411
+ 'Kääntäjä'
1412
+ end
1413
+ def illustrator
1414
+ 'Kuvittaja'
1415
+ end
1416
+ def publisher #dc
1417
+ 'julkaisija'
1418
+ end
1419
+ def prepared_by
1420
+ 'Valmistaja'
1421
+ end
1422
+ def digitized_by
1423
+ 'Digitalisoinut'
1424
+ end
1425
+ def contents
1426
+ 'Contents' #translate
1427
+ end
1428
+ def subject #dc
1429
+ 'aihe'
1430
+ end
1431
+ def description #dc (watch)
1432
+ 'kuvaus'
1433
+ end
1434
+ def abstract #dc
1435
+ 'tiivistelmä'
1436
+ end
1437
+ def type #dc
1438
+ 'tyyppi'
1439
+ end
1440
+ def rights #dc
1441
+ 'oikeudet'
1442
+ end
1443
+ def date #dc
1444
+ 'päiväys'
1445
+ end
1446
+ def date_created #dc
1447
+ 'luontipäivä'
1448
+ end
1449
+ def date_issued #dc
1450
+ 'julkaisupäivä'
1451
+ end
1452
+ def date_available #dc
1453
+ 'saantipäivä'
1454
+ end
1455
+ def date_modified #dc
1456
+ 'muokkauspäivä'
1457
+ end
1458
+ def date_valid #dc
1459
+ 'kelpoisuuspäivä'
1460
+ end
1461
+ def language #dc
1462
+ 'kieli'
1463
+ end
1464
+ def language_original
1465
+ 'Alkuperäiskieli'
1466
+ end
1467
+ def format #dc
1468
+ 'muoto'
1469
+ end
1470
+ def identifier #dc
1471
+ 'tunnus'
1472
+ end
1473
+ def source #dc
1474
+ 'lähde'
1475
+ end
1476
+ def relation #dc
1477
+ 'suhde'
1478
+ end
1479
+ def coverage #dc
1480
+ 'kattavuus'
1481
+ end
1482
+ def keywords
1483
+ 'Avainsanat'
1484
+ end
1485
+ def comments
1486
+ 'Kommentit'
1487
+ end
1488
+ def cls_loc
1489
+ 'Classify Library of Congress'
1490
+ end
1491
+ def cls_dewey
1492
+ 'Classify Dewey'
1493
+ end
1494
+ def cls_oclc # fix
1495
+ 'Classify OCLC number'
1496
+ end
1497
+ def cls_gutenberg
1498
+ 'Classify Project Gutenberg'
1499
+ end
1500
+ def cls_isbn
1501
+ 'Classify ISBN'
1502
+ end
1503
+ def prefix_a
1504
+ 'Prefix (a)'
1505
+ end
1506
+ def prefix_b
1507
+ 'Prefix (b)'
1508
+ end
1509
+ def topic_register
1510
+ 'Topics Registered'
1511
+ end
1512
+ def sourcefile
1513
+ 'Lähdetiedosto'
1514
+ end
1515
+ def word_count
1516
+ 'Arvioitu sanamäärä'
1517
+ end
1518
+ def sourcefile_digest
1519
+ 'Lähdetiedoston tiiviste'
1520
+ end
1521
+ def digest_md5
1522
+ 'Lähdetiedoston tiiviste (md5)'
1523
+ end
1524
+ def digest_sha256
1525
+ 'Lähdetiedoston tiiviste (sha256)'
1526
+ end
1527
+ def sc_number
1528
+ 'Dokumentin RCS/CVS-numero'
1529
+ end
1530
+ def sc_date
1531
+ 'Dokumentin RCS/CVS-päiväys'
1532
+ end
1533
+ def last_generated
1534
+ 'Viimeksi tuotettu dokumentti (metaverse)'
1535
+ end
1536
+ def sisu_version
1537
+ 'Generoinut'
1538
+ end
1539
+ def ruby_version
1540
+ 'Ruby-versio'
1541
+ end
1542
+ def suggested_links
1543
+ 'metadatan ehdottamat linkit'
1544
+ end
1545
+ def language_version_list
1546
+ 'Dokumentin kieliversiot, manifestit'
1547
+ end
1548
+ def manifest_description
1549
+ 'SiSU manifest of document filetypes and metadata'
1550
+ end
1551
+ def manifest_description_output
1552
+ 'Tuotetun tuloksen SISU-manifesti'
1553
+ end
1554
+ def manifest_description_metadata
1555
+ 'Dokumenttimetadatan SISU-manifesti'
1556
+ end
1557
+ def language_list_translated
1558
+ case @trans_str
1559
+ when /American/i then 'Amerikanenglanti' # tag depreciated, see iso 639-2
1560
+ when /English/i then 'Englanti'
1561
+ when /French/i then 'Ranska'
1562
+ when /German/i then 'Saksa'
1563
+ when /Italian/i then 'Italia'
1564
+ when /Spanish/i then 'Espanja'
1565
+ when /Portuguese Brazil|Brazilian(?: Portuguese)?/i
1566
+ 'Brasilian portugali' # tag depreciated, see iso 639-2
1567
+ when /Portuguese/i then 'Portugali'
1568
+ when /Swedish/i then 'Ruotsi'
1569
+ when /Danish/i then 'Tanska'
1570
+ when /Finnish/i then 'Suomi'
1571
+ when /Norwegian/i then 'Norja'
1572
+ when /Icelandic/i then 'Islanti'
1573
+ when /Dutch/i then 'Hollanti'
1574
+ when /Estonian/i then 'Viro'
1575
+ when /Hungarian/i then 'Unkari'
1576
+ when /Polish/i then 'Puola'
1577
+ when /Romanian/i then 'Romania'
1578
+ when /Russian/i then 'Venäjä'
1579
+ when /Greek/i then 'Kreikka'
1580
+ when /Ukranian/i then 'Ukraina'
1581
+ when /Turkish/i then 'Turkki'
1582
+ when /Slovenian/i then 'Slovenia'
1583
+ when /Croatian/i then 'Kroatia'
1584
+ when /Slovak(?:ian)?/i then 'Slovakki'
1585
+ when /Czech/i then 'Tsekki'
1586
+ when /Bulgarian/i then 'Bulgaria'
1587
+ else @trans_str
1588
+ end
1589
+ end
1590
+ end
1591
+ class Portuguese < English
1592
+ end
1593
+ class Swedish < English
1594
+ def contents
1595
+ 'Innehåll'
1596
+ end
1597
+ end
1598
+ class Danish < English
1599
+ end
1600
+ class Norwegian < English
1601
+ end
1602
+ class Icelandic < English
1603
+ end
1604
+ class Dutch < English
1605
+ end
1606
+ class Estonian < English
1607
+ end
1608
+ class Hungarian < English
1609
+ end
1610
+ class Polish < English
1611
+ end
1612
+ class Romanian < English
1613
+ end
1614
+ class Russian < English
1615
+ end
1616
+ class Greek < English
1617
+ end
1618
+ class Ukranian < English
1619
+ end
1620
+ class Turkish < English
1621
+ end
1622
+ class Croatian < English
1623
+ end
1624
+ class Slovakian < English
1625
+ end
1626
+ class Czech < English
1627
+ end
1628
+ class Bulgarian < English
1629
+ end
1630
+ end
1631
+ __END__
1632
+ http://www.debian.org/international/l10n/po/
1633
+ http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
1634
+ http://www.loc.gov/standards/iso639-2/php/code_list.php
1635
+ albanian sq
1636
+ amharic am
1637
+ arabic ar
1638
+ armenian hy
1639
+ asturian
1640
+ bahasai
1641
+ bahasam
1642
+ basque eu
1643
+ bengali bn
1644
+ brazil[ian] pt_BR
1645
+ breton br
1646
+ bulgarian bg
1647
+ catalan ca
1648
+ coptic
1649
+ croatian hr
1650
+ czech cs
1651
+ danish da
1652
+ divehi
1653
+ dutch nl
1654
+ english en
1655
+ esperanto eo
1656
+ estonian et
1657
+ galician gl
1658
+ german de
1659
+ greek el
1660
+ hebrew he
1661
+ hindi hi
1662
+ icelandic is
1663
+ interlingua ia
1664
+ irish ga
1665
+ italian it
1666
+ farsi
1667
+ finnish fi
1668
+ french fr
1669
+ lao lo
1670
+ latin la
1671
+ latvian lv
1672
+ lithuanian lt
1673
+ lsorbian
1674
+ magyar
1675
+ malayalam ml
1676
+ marathi mr
1677
+ norsk no
1678
+ nynorsk nn
1679
+ occitan oc
1680
+ polish pl
1681
+ portuges pt
1682
+ romanian ro
1683
+ russian ru
1684
+ samin se (check sami?)
1685
+ sanskrit sa
1686
+ scottish # (gd (Gaelic (Scots)))
1687
+ serbian sr
1688
+ slovak sk
1689
+ slovenian sl
1690
+ spanish es
1691
+ swedish sv
1692
+ syriac # (ar_SY (Arabic, as spoken in Syrian Arab Republic))
1693
+ tamil ta
1694
+ telugu te
1695
+ thai th
1696
+ turkish tr
1697
+ turkmen tk
1698
+ ukrainian uk
1699
+ urdu ur
1700
+ usorbian
1701
+ vietnamese vi
1702
+ welsh cy