aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2011-05-05 22:11:58 -0400
committerRalph Amissah <ralph@amissah.com>2011-05-05 22:11:58 -0400
commita9642d67f69d83d3fdb56ab115ef3c10bcd1895c (patch)
tree352c633d6b60a54a9ef74ff143162ac07c981b18 /lib
parentdebian/changelog (3.0.7-1) (diff)
parentv3: i18n, sysenv, class variable to prevent unnecessary re-construction of hash (diff)
Merge branch 'upstream' into debian/sid
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v2/manpage.rb1
-rw-r--r--lib/sisu/v2/param.rb2
-rw-r--r--lib/sisu/v2/sysenv.rb2
-rw-r--r--lib/sisu/v3/cgi_pgsql.rb6
-rw-r--r--lib/sisu/v3/cgi_sql_common.rb93
-rw-r--r--lib/sisu/v3/cgi_sqlite.rb16
-rw-r--r--lib/sisu/v3/concordance.rb4
-rw-r--r--lib/sisu/v3/constants.rb10
-rw-r--r--lib/sisu/v3/dal.rb2
-rw-r--r--lib/sisu/v3/dal_doc_str.rb4
-rw-r--r--lib/sisu/v3/dal_metadata.rb4
-rw-r--r--lib/sisu/v3/db_columns.rb32
-rw-r--r--lib/sisu/v3/db_import.rb31
-rw-r--r--lib/sisu/v3/db_indexes.rb1
-rw-r--r--lib/sisu/v3/db_remove.rb14
-rw-r--r--lib/sisu/v3/db_select.rb10
-rw-r--r--lib/sisu/v3/digests.rb6
-rw-r--r--lib/sisu/v3/git.rb2
-rw-r--r--lib/sisu/v3/hub.rb1
-rw-r--r--lib/sisu/v3/i18n.rb1793
-rw-r--r--lib/sisu/v3/manifest.rb14
-rw-r--r--lib/sisu/v3/manpage.rb1
-rw-r--r--lib/sisu/v3/options.rb23
-rw-r--r--lib/sisu/v3/param.rb31
-rw-r--r--lib/sisu/v3/prog_text_translation.rb1697
-rw-r--r--lib/sisu/v3/shared_metadata.rb8
-rw-r--r--lib/sisu/v3/sitemaps.rb2
-rw-r--r--lib/sisu/v3/sst_do_inline_footnotes.rb4
-rw-r--r--lib/sisu/v3/sysenv.rb188
-rw-r--r--lib/sisu/v3/texpdf_format.rb12
-rw-r--r--lib/sisu/v3/urls.rb5
31 files changed, 2184 insertions, 1835 deletions
diff --git a/lib/sisu/v2/manpage.rb b/lib/sisu/v2/manpage.rb
index a040f1a0..f9c75227 100644
--- a/lib/sisu/v2/manpage.rb
+++ b/lib/sisu/v2/manpage.rb
@@ -293,6 +293,7 @@ WOK
dob.obj.gsub!(/┆/,'|')
dob.obj.gsub!(/\s\.(\S+)/,' \\.\1')
dob.obj.gsub!(/(\n\.)(\S\S\S+)/m,'\1\\.\2')
+ dob.obj.gsub!(/-/,'\-') #manpages use this
dob.obj.gsub!(/&#126;/,'~') if dob.obj #manpages use this
if dob.is =~/group|verse|alt|code/
if dob.is =='code'
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index c500c282..656490d9 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -733,12 +733,14 @@ module SiSU_Param
end
if manpage['name']
manpage['name']=manpage['name'].join("\n.br\n")
+ manpage['name'].gsub!(/(-)/m,"\\\\\\1")
manpage['name'].gsub!(/\A/,"\n.br\n.SH NAME\n.br\n")
else
manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
end
if manpage['synopsis']
manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n")
+ manpage['synopsis'].gsub!(/(-)/m,"\\\\\\1")
manpage['synopsis'].gsub!(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n")
else
manpage['synopsis']=''
diff --git a/lib/sisu/v2/sysenv.rb b/lib/sisu/v2/sysenv.rb
index 72b1ffc7..d3152947 100644
--- a/lib/sisu/v2/sysenv.rb
+++ b/lib/sisu/v2/sysenv.rb
@@ -1983,7 +1983,7 @@ WOK
((defined? @rc['program_select']['odf_viewer']) \
&& @rc['program_select']['odf_viewer'] =~/\S\S+/) \
? @rc['program_select']['odf_viewer'] \
- : 'oowriter' #'odf-viewer','oowriter'
+ : 'lowriter' #'odf-viewer','oowriter'
end
def manpage_viewer
'man'
diff --git a/lib/sisu/v3/cgi_pgsql.rb b/lib/sisu/v3/cgi_pgsql.rb
index 48211068..fc802f03 100644
--- a/lib/sisu/v3/cgi_pgsql.rb
+++ b/lib/sisu/v3/cgi_pgsql.rb
@@ -115,12 +115,12 @@ module SiSU_CGI_pgsql
a="postgresql db used for present directory: #{@db.psql.db}"
b="\n\t(to create and populate postgresql database see 'man sisu' and in particular the -D flag)\n\t[the database to be used for this directory (#{@db.psql.db}) will have to be created manually if it does not exist,\n\tsee 'sisu --help sql'\n\tif you have permission to create databases:\n\t'sisu -d --createdb'\n\tor using postgresql tools directly:\n\t'createdb #{@db.psql.db}'\n\tfor a list of existing databases try 'psql --list']"
SiSU_Screen::Ansi.new(@opt.cmd,a,b).txt_cyan
- else puts 'failed in attempt to write sisu_pgsql.cgi to present directory, is directory writable?'
+ else puts 'failed in attempt to write #{@cgi_file_name} to present directory, is directory writable?'
end
end
def header0
<<-WOK_SQL
-#!/usr/bin/env ruby
+#!/usr/bin/ruby1.8
=begin
#{about}
* Description: generates naive cgi search form for search of sisu database (pgsql)
@@ -145,7 +145,7 @@ module SiSU_CGI_pgsql
@l,@t,@q,@c=l,t,q,cse
end
def string
- search={ search: [], flag: false }
+ search={ :search => [], :flag => false }
if @t =~/\S+/ or @q =~/\S+/
if @t =~/\S+/; unescaped_search=CGI.unescape(@t)
elsif @q =~/\S+/; unescaped_search=CGI.unescape(@q)
diff --git a/lib/sisu/v3/cgi_sql_common.rb b/lib/sisu/v3/cgi_sql_common.rb
index 924b1533..1174be6e 100644
--- a/lib/sisu/v3/cgi_sql_common.rb
+++ b/lib/sisu/v3/cgi_sql_common.rb
@@ -299,9 +299,9 @@ module SiSU_CGI_sql
end
def text_to_match(identifier='')
m={
- string: /#{identifier}\s*(.+?)/,
- string: /#{identifier}\s*(.+?)(?:;|\n|\r|$)/,
- word: /#{identifier}[\s(]*(\S+)/
+ :string => /#{identifier}\s*(.+?)/,
+ :string => /#{identifier}\s*(.+?)(?:;|\n|\r|$)/,
+ :word => /#{identifier}[\s(]*(\S+)/
}
search_string=if @search_field =~m[:word]
search_string=if @search_field =~m[:braces]; m[:braces].match(@search_field)[1]
@@ -328,10 +328,10 @@ module SiSU_CGI_sql
def initialize(conn,search_for,q,c)
@conn=conn
@text_search_flag=false
- @sql_statement={ body: '', endnotes: '',range: '' }
+ @sql_statement={ :body => '', :endnotes => '', :range => '' }
#@offset||=@@offset
#@offset+=@@limit
- search={ text: [], endnotes: [] }
+ search={ :text => [], :endnotes => [] }
cse=(c =~/\S/) ? true : false
st=Dbi_search_string.new('doc_objects.clean',search_for.text1,q['s1'],cse).string
se=Dbi_search_string.new('endnotes.clean',search_for.text1,q['s1'],cse).string
@@ -645,7 +645,7 @@ module SiSU_CGI_sql
@counters_txt,@counters_endn,@sql_select_body,@sql_select_endnotes='','','',''
FCGI.each_cgi do |cgi|
begin # all code goes in begin section
- @search={ text: [], endnotes: [] }
+ @search={ :text => [], :endnotes => [] }
q=CGI.new
@db=if cgi['db'] =~/\S+/;
@stub=/#{@db_name_prefix}(\S+)/.match(cgi['db'])[1]
@@ -656,13 +656,13 @@ module SiSU_CGI_sql
end
checked_url,checked_stats,checked_searched,checked_tip,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,selected_db='','','','','','','','',''
result_type=(cgi['view']=~/text/) \
- ? result_type={ index: '', text: 'checked'} \
- : result_type={ index: 'checked', text: ''}
+ ? result_type={ :index => '', :text => 'checked'} \
+ : result_type={ :index => 'checked', :text => ''}
@@limit=if cgi['sql_match_limit'].to_s=~/2500/
- checked_sql_limit={ l1000: '', l2500: 'checked'}
+ checked_sql_limit={ :l1000 => '', :l2500 => 'checked'}
'2500'
else
- checked_sql_limit={ l1000: 'checked', l2500: ''}
+ checked_sql_limit={ :l1000 => 'checked', :l2500 => ''}
'1000'
end
checked_echo='checked' if cgi['echo'] =~/\S/
@@ -792,7 +792,7 @@ module SiSU_CGI_sql
</font>
WOK
#eg = %{canned search e.g.:<br /> <a href="#{url}">#{url}</a><br />find: #{analyze}<br />database: #{database}}
- #dbi_canning
+ #% dbi_canning
@header=Form.new(@base,search_field,selected_db,result_type,checked_sql_limit,checked_tip,checked_stats,checked_searched,checked_url,checked_case,checked_echo,checked_sql,checked_all,checked_none,checked_selected,checked_default,search_note,the_can).submission_form #% form
unless q['s1'] =~/\S/ or q['au'] =~/\S/ or @search[:text][1] =~/\S/
print "Content-type: text/html\n\n"
@@ -808,13 +808,13 @@ module SiSU_CGI_sql
@search[:text]<<%{doc_objects.clean~*'#{CGI.unescape(s1)}'}
@search[:endnotes]<<%{endnotes.clean~*'#{CGI.unescape(s1)}'}
end
- #dbi_request
+ #% dbi_request
dbi_statement=Dbi_search_statement.new(@conn,@search_for,q,checked_case)
@text_search_flag=false
@text_search_flag=dbi_statement.text_search_flag
s_contents=dbi_statement.contents
s_endnotes=dbi_statement.endnotes
- @body_main,@endnotes=[],[]
+ @body_main,@endnotes='',''
@search_regx=nil
oldtid=0
if @text_search_flag
@@ -827,7 +827,48 @@ module SiSU_CGI_sql
@endnotes << '<p><hr><br /><b>Endnotes:</b><br />' << sql_select_endnotes
else
end
- #text_objects_body
+ @hostpath="#{@hosturl_files}/#{@stub}"
+ @ln='en'
+ def output_dir_structure
+ def by_language_code?
+ true
+ end
+ def by_filetype?
+ false
+ end
+ def by_filename?
+ false
+ end
+ self
+ end
+ def path_manifest(fn,ln=nil)
+ if output_dir_structure.by_language_code?
+ manifest_at="#{@hostpath}/#{ln}/manifest/#{fn}.manifest.html"
+ elsif output_dir_structure.by_filetype?
+ manifest_at="#{@hostpath}/manifest/#{fn}.manifest.html"
+ elsif output_dir_structure.by_filename?
+ manifest_at="#{@hostpath}/#{fn}/manifest.html"
+ end
+ end
+ def path_html_seg(fn,ln=nil)
+ if output_dir_structure.by_language_code?
+ html_at="#{@hostpath}/#{ln}/html/#{fn}"
+ elsif output_dir_structure.by_filetype?
+ html_at="#{@hostpath}/html/#{fn}"
+ elsif output_dir_structure.by_filename?
+ html_at="#{@hostpath}/#{fn}"
+ end
+ end
+ def path_html_doc(fn,ln=nil)
+ if output_dir_structure.by_language_code?
+ html_at="#{@hostpath}/#{ln}/html/#{fn}.html"
+ elsif output_dir_structure.by_filetype?
+ html_at="#{@hostpath}/html/#{fn}.html"
+ elsif output_dir_structure.by_filename?
+ html_at="#{@hostpath}/#{fn}/doc.html"
+ end
+ end
+ #% text_objects_body
s_contents.each do |c| #% text body
location=c['src_filename'][/(.+?)\.(?:ssm\.sst|sst)$/,1]
file_suffix=c['src_filename'][/.+?\.(_?sst|ssm)$/,1]
@@ -837,13 +878,13 @@ module SiSU_CGI_sql
l=".#{l}"
else ''
end
- #metadata_found_body
+ #% metadata_found_body
if c['tid'].to_i != oldtid.to_i
ti=c['title']
can_txt_srch=(cgi['view']=~/index/) \
? %{<a href="#{@canned_base_url}&fns=#{c['src_filename']}&view=text"><img border="0" width="24" height="16" src="#{@image_src}/b_search.png" alt="search"></a>&nbsp;} \
: %{<a href="#{@canned_base_url}&fns=#{c['src_filename']}&view=index"><img border="0" width="24" height="16" src="#{@image_src}/b_search.png" alt="search"></a>&nbsp;}
- title=%{<span style="background-color: #{@color_heading}"><a href="#{@hosturl_files}/#{@stub}/#{location}/toc#{lang}.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html">&nbsp;#{ti}</a></span> by #{c['creator_author']} #{can_txt_srch}<a href="#{@hosturl_files}/#{@stub}/#{location}/toc#{lang}.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/epub/#{location}#{lang}.epub"><img border="0" width="15" height="15" src="#{@image_src}/b_epub.png" alt="epub"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/portrait#{lang}.pdf"><img border="0" width="15" height="18" src="#{@image_src}/b_pdf.png" alt="pdf portrait"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/landscape#{lang}.pdf"><img border="0" width="18" height="15" src="#{@image_src}/b_pdf.png" alt="pdf landscape"></a></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/opendocument#{lang}.odt"><img border="0" width="15" height="15" src="#{@image_src}/b_odf.png" alt="odf"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/sisu_manifest#{lang}.html"><img border="0" width="15" height="15" src="#{@image_src}/b_info.png" alt="manifest"></a><br />} if file_suffix=~/s/ #hmm watch file_suffix
+ title=%{<span style="background-color: #{@color_heading}"><a href="#{path_html_seg(location,@ln)}/toc.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html">&nbsp;#{ti}</a></span> by #{c['creator_author']} #{can_txt_srch}<a href="#{path_html_seg(location,@ln)}/toc.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html"></a>&nbsp;<a href="#{path_manifest(location,@ln)}"><img border="0" width="15" height="15" src="#{@image_src}/b_info.png" alt="manifest"></a><br />} if file_suffix=~/s/ #hmm watch file_suffix
title=@text_search_flag \
? '<br /><hr>'+title \
: '<br />'+title
@@ -880,7 +921,7 @@ module SiSU_CGI_sql
matched_para=(@search_regx.to_s.class==String && @search_regx.to_s=~/\S\S+/) \
? (c['body'].gsub(/(<a\s+href="https?:\/\/[^><\s]+#{@search_regx}[^>]+?>|#{@search_regx})/mi,%{<span style="background-color: #{@color_match}">\\1</span>})) \
: c['body']
- %{<hr><p><font size="2">ocn <b><a href="#{@hosturl_files}/#{@stub}/#{location}/#{c['seg']}#{lang}.html##{c['ocn']}">#{c['ocn']}</a></b>:</font></p>#{matched_para}}
+ %{<hr><p><font size="2">ocn <b><a href="#{path_html_seg(location,@ln)}/#{c['seg']}#{lang}.html##{c['ocn']}">#{c['ocn']}</a></b>:</font></p>#{matched_para}}
elsif c['suffix'] =~/1/ #doc
%{#{title}<hr><p><font size="2">ocn #{c['ocn']}:#{c['body']}}
end
@@ -888,9 +929,9 @@ module SiSU_CGI_sql
output=title+text
else #elsif cgi['view']=~/index/ #% idx body
if c['suffix'] !~/1/ #seg
- index=%{<a href="#{@hosturl_files}/#{@stub}/#{location}/#{c['seg']}#{lang}.html##{c['ocn']}">#{c['ocn']}</a>, } if @text_search_flag
- elsif c['suffix'] =~/1/ #doc
- index=%{<a href="#{@hosturl_files}/#{@stub}/#{location}/doc#{lang}.html##{c['ocn']}">#{c['ocn']}</a>, }
+ index=%{<a href="#{path_html_seg(location,@ln)}/#{c['seg']}#{lang}.html##{c['ocn']}">#{c['ocn']}</a>, } if @text_search_flag
+ elsif c['suffix'] =~/1/ #doc #FIX
+ index=%{<a href="#{path_html_doc(location,@ln)}##{c['ocn']}">#{c['ocn']}</a>, }
end
if c['seg'] =~/\S+/
if @text_search_flag
@@ -936,7 +977,7 @@ module SiSU_CGI_sql
can_txt_srch=(cgi['view']=~/index/) \
? %{<a href="#{@canned_base_url}&fns=#{e['src_filename']}&view=text"><img border="0" width="24" height="16" src="#{@image_src}/b_search.png" alt="search"></a>&nbsp;} \
: %{<a href="#{@canned_base_url}&fns=#{e['src_filename']}&view=index"><img border="0" width="24" height="16" src="#{@image_src}/b_search.png" alt="search"></a>&nbsp;}
- title=%{<br /><hr><span style="background-color: #{@color_heading}"><a href="#{@hosturl_files}/#{@stub}/#{location}/toc#{lang}.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html">&nbsp;#{ti}</a></span> by #{e['creator_author']} #{can_txt_srch}<a href="#{@hosturl_files}/#{@stub}/#{location}/toc#{lang}.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/epub/#{location}#{lang}.epub"><img border="0" width="15" height="15" src="#{@image_src}/b_epub.png" alt="epub"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/portrait.pdf"><img border="0" width="15" height="18" src="#{@image_src}/b_pdf.png" alt="pdf portrait"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/landscape.pdf"><img border="0" width="18" height="15" src="#{@image_src}/b_pdf.png" alt="pdf landscape"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/opendocument#{lang}.odt"><img border="0" width="15" height="15" src="#{@image_src}/b_odf.png" alt="odf"></a>&nbsp;<a href="#{@hosturl_files}/#{@stub}/#{location}/sisu_manifest#{lang}.html"><img border="0" width="15" height="15" src="#{@image_src}/b_info.png" alt="manifest"></a><br />} if file_suffix=~/s/
+ title=%{<br /><hr><span style="background-color: #{@color_heading}"><a href="#{path_html_seg(location,@ln)}/toc.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html">&nbsp;#{ti}</a></span> by #{e['creator_author']} #{can_txt_srch}<a href="#{path_html_seg(location,@ln)}/toc.html"><img border="0" width="15" height="18" src="#{@image_src}/b_toc.png" alt="toc html"></a>&nbsp;<a href="#{path_manifest(location,@ln)}"><img border="0" width="15" height="15" src="#{@image_src}/b_info.png" alt="manifest"></a><br />} if file_suffix=~/s/
@counter_endn_doc+=1
oldtid=e['metadata_tid'].to_i
else title = ''
@@ -947,10 +988,10 @@ module SiSU_CGI_sql
matched_endnote=(@search_regx.to_s.class==String && @search_regx.to_s=~/\S\S+/) \
? matched=e['body'].gsub(/(<a\s+href="https?:\/\/[^><\s]+#{@search_regx}[^>]+?>|#{@search_regx})/mi,%{<span style="background-color: #{@color_match}">\\1</span>}) \
: e['body']
- output=%{#{title}<hr><font size="2">note <b><a href="#{@hosturl_files}/#{@stub}/#{location}/endnotes.html#_#{e['nr']}">#{e['nr']}</a></b> referred to from ocn <a href="#{@hosturl_files}/#{@stub}/#{location}/doc.html##{e['ocn']}">#{e['ocn']}</a>:</font> #{matched_endnote}}
- else #elsif cgi['view']=~/index/ #% idx endnotes
+ output=%{#{title}<hr><font size="2">note <b><a href="#{path_html_seg(location,@ln)}/endnotes.html#_#{e['nr']}">#{e['nr']}</a></b> referred to from ocn <a href="#{path_html_doc(location,@ln)}##{e['ocn']}">#{e['ocn']}</a>:</font> #{matched_endnote}}
+ else #elsif cgi['view']=~/index/ #doc #FIX #% idx endnotes
@counter_endn_ocn+=1
- output=%{#{title}<a href="#{@hosturl_files}/#{@stub}/#{location}/endnotes.html#_#{e['nr']}">#{e['nr']}</a> [&sect; <a href="#{@hosturl_files}/#{@stub}/#{location}/doc.html##{e['ocn']}">#{e['ocn']}</a>], }
+ output=%{#{title}<a href="#{path_html_seg(location,@ln)}/endnotes.html#_#{e['nr']}">#{e['nr']}</a> [&sect; <a href="#{path_html_doc(location,@ln)}##{e['ocn']}">#{e['ocn']}</a>], }
end
@counters_endn=if @counter_endn_doc > 0
if checked_stats =~/\S/
@@ -964,7 +1005,7 @@ module SiSU_CGI_sql
end
end
@endnotes << output #+ details
- else @endnotes=[] #does not take out yet
+ else @endnotes='' #does not take out yet
end
end
offset=dbi_statement.sql_offset.to_s
@@ -974,7 +1015,7 @@ module SiSU_CGI_sql
? dbi_statement.pre_next(true,@image_src).to_s \
: dbi_statement.pre_next(false,@image_src).to_s
limit=dbi_statement.sql_match_limit.to_s
- cgi.out{@header + @counters_txt + @counters_endn + canned + @body_main.join + @endnotes.join + canned + @tail} #% print cgi_output_header+counters+body+endnotes
+ cgi.out{@header + @counters_txt + @counters_endn + canned + @body_main + @endnotes + canned + @tail} #% print cgi_output_header+counters+body+endnotes
end
rescue Exception => e
s='<pre>' + CGI::escapeHTML(e.backtrace.reverse.join("\n"))
diff --git a/lib/sisu/v3/cgi_sqlite.rb b/lib/sisu/v3/cgi_sqlite.rb
index 5a415b0d..4a5838ab 100644
--- a/lib/sisu/v3/cgi_sqlite.rb
+++ b/lib/sisu/v3/cgi_sqlite.rb
@@ -66,6 +66,7 @@ module SiSU_CGI_sqlite
@env=SiSU_Env::Info_env.new('',opt)
@image_src="#{@env.url.webserv_cgi}/_sisu/image_sys"
@common=SiSU_CGI_sql::SiSU_CGI_common.new(@webserv,@opt.cmd,@image_src,@env)
+ @cgi_file_name="#{Db[:name_prefix_db]}sqlite.cgi"
end
def sqlite
serve=[]
@@ -95,7 +96,7 @@ module SiSU_CGI_sqlite
end
f3 << %{ else '#{@env.path.webserv}/#{serve[0]}/sisu_sqlite.db'\n end\n}
if FileTest.writable?('.')
- output=File.open('sisu_sqlite.cgi','w')
+ output=File.open(@cgi_file_name,'w')
output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << f3 << dbi_connect << @common.main2
a=%{ generated sisu_sqlite.cgi,
BASED ON ALREADY CREATED sisu_sqlite.db OUTPUT, (-d)
@@ -104,21 +105,22 @@ module SiSU_CGI_sqlite
c=case @webserv
when /pwd/; ''
else "if necessary make the directory /usr/lib/cgi-bin :
- sudo cp -vi #{Dir.pwd}/sisu_sqlite.cgi /usr/lib/cgi-bin/.
- sudo chmod -v 755 /usr/lib/cgi-bin/sisu_sqlite.cgi
- (copy sisu_sqlite.cgi to your cgi directory) and set file permissions to 755"
+ sudo cp -vi #{Dir.pwd}/#{@cgi_file_name} /usr/lib/cgi-bin/.
+ sudo chmod -v 755 /usr/lib/cgi-bin/#{@cgi_file_name}
+ sudo ln -s /usr/lib/cgi-bin/#{@cgi_file_name} /usr/lib/cgi-bin/sisu_sqlite.cgi
+ (copy #{@cgi_file_name} to your cgi directory) set file permissions to 755, and make symbolic link to sisu_sqlite.cgi"
end
a=%{#{c}
#{@env.webserv_base_cgi}/cgi-bin/sisu_sqlite.cgi
}
b='(to create and populate sisu sqlite database see "man sisu" and in particular the -d flag)'
SiSU_Screen::Ansi.new(@opt.cmd,a,b).warn
- else puts 'failed in attempt to write sisu_sqlite.cgi to present directory, is directory writable?'
+ else puts "failed in attempt to write #{@cgi_file_name} to present directory, is directory writable?"
end
end
def header0
<<-WOK_SQL
-#!/usr/bin/env ruby
+#!/usr/bin/ruby1.8
=begin
#{about}
* Description: generates naive cgi search form for search of sisu database (sqlite)
@@ -141,7 +143,7 @@ module SiSU_CGI_sqlite
@l,@t,@q=l,t,q
end
def string
- search={ search: [], flag: false }
+ search={ :search => [], :flag => false }
if @t =~/\S+/ or @q =~/\S+/
if @t =~/\S+/; unescaped_search=CGI.unescape(@t)
elsif @q =~/\S+/; unescaped_search=CGI.unescape(@q)
diff --git a/lib/sisu/v3/concordance.rb b/lib/sisu/v3/concordance.rb
index 8b70fdc5..d97c7786 100644
--- a/lib/sisu/v3/concordance.rb
+++ b/lib/sisu/v3/concordance.rb
@@ -77,7 +77,7 @@ module SiSU_Concordance
@env,@md=@particulars.env,@particulars.md
loc=@env.url.output_tell
unless @md.opt.cmd =~/q/
- tool=(@md.opt.cmd =~/[MVv]/) ? "#{@env.program.web_browser} #{loc}/#{@md.fnb}/#{@md.fn[:concordance]}" : @md.fns
+ tool=(@md.opt.cmd =~/[MVv]/) ? "#{@env.program.web_browser} #{@md.file.output_path.html_concordance}/#{@md.file.base_filename.html_concordance}" : @md.fns
@md.opt.cmd=~/[MVvz]/ \
? SiSU_Screen::Ansi.new(@md.opt.cmd,"Concordance",tool).grey_title_hi \
: SiSU_Screen::Ansi.new(@md.opt.cmd,'Concordance',tool).green_title_hi
@@ -337,7 +337,7 @@ WOK
end
credits=@vz.credits_sisu
@file_concordance << %{</div></body>\n</html>} # footer
- SiSU_Screen::Ansi.new(@md.opt.cmd,@md.fns,"#{@env.path.output_tell}/#{@md.fn[:concordance]}").flow if @md.opt.cmd =~/[MV]/
+ SiSU_Screen::Ansi.new(@opt.cmd,@md.fns,"#{@md.file.output_path.html_concordance}/#{@md.file.base_filename.html_concordance}").flow if @md.opt.cmd =~/[MV]/
end
end
end
diff --git a/lib/sisu/v3/constants.rb b/lib/sisu/v3/constants.rb
index d94da654..57491a7c 100644
--- a/lib/sisu/v3/constants.rb
+++ b/lib/sisu/v3/constants.rb
@@ -147,20 +147,18 @@ Px[:lng_lst]=%w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi h
Px[:lv1]= '*'
Px[:lv2]= '='
Px[:lv3]= '='
-#Px[:lv2_3]= '='
Px[:lv4]= '-'
Px[:lv5]= '.'
Px[:lv6]= '.'
-#Px[:lv5_6]= '.'
-Db[:name_prefix]="SiSU#{SiSU_version_dir}c_"
-Db[:name_prefix_db]="sisu_#{SiSU_version_dir}c_"
+Db[:name_prefix]="SiSU#{SiSU_version_dir}d_"
+Db[:name_prefix_db]="sisu_#{SiSU_version_dir}d_"
Db[:col_title]=800
Db[:col_title_part]=400
Db[:col_title_edition]=10
Db[:col_name]=600
Db[:col_creator_misc_short]=100
Db[:col_language]=100
-Db[:col_language_char]=3
+Db[:col_language_char]=6
Db[:col_date_text]=10
Db[:col_classify_txt_long]=600
Db[:col_classify_txt_short]=600
@@ -312,7 +310,7 @@ see polyglossia for subset
* es_GA (Spanish, as spoken in Gabon)
* es_GT (Spanish, as spoken in Guatemala)
* es_HN (Spanish, as spoken in Honduras)
-* es_LA (Spanish, as spoken in Lao People's Democratic Republic)
+* es_LA (Spanish, as spoken in Lao People''s Democratic Republic)
* es_MX (Spanish, as spoken in Mexico)
* es_NI (Spanish, as spoken in Nicaragua)
* es_PA (Spanish, as spoken in Panama)
diff --git a/lib/sisu/v3/dal.rb b/lib/sisu/v3/dal.rb
index a25f0f99..28e7193d 100644
--- a/lib/sisu/v3/dal.rb
+++ b/lib/sisu/v3/dal.rb
@@ -77,7 +77,7 @@ module SiSU_DAL
require_relative 'dal_character_check' # dal_character_check.rb
require_relative 'dal_substitutions_and_insertions' # dal_substitutions_and_insertions.rb
require_relative 'dal_expand_insertions' # dal_expand_insertions.rb
- require_relative 'i18n' # i18n.rb
+ require_relative 'prog_text_translation' # prog_text_translation.rb
require_relative 'shared_sem' # shared_sem.rb
class Instantiate < SiSU_Param::Parameters::Instructions
def initialize
diff --git a/lib/sisu/v3/dal_doc_str.rb b/lib/sisu/v3/dal_doc_str.rb
index 61348d28..ed289015 100644
--- a/lib/sisu/v3/dal_doc_str.rb
+++ b/lib/sisu/v3/dal_doc_str.rb
@@ -482,8 +482,8 @@ module SiSU_document_structure_extract
meta=[]
dir=SiSU_Env::Info_env.new(@md.fns)
base_html="#{dir.url.root}/#{@md.fnb}"
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ language=l[:n]
tr=SiSU_Translate::Source.new(@md,language)
meta << @pb
h={ ln: 2, obj: 'Metadata', ocn_: false }
diff --git a/lib/sisu/v3/dal_metadata.rb b/lib/sisu/v3/dal_metadata.rb
index 31a7e4b2..2e68c944 100644
--- a/lib/sisu/v3/dal_metadata.rb
+++ b/lib/sisu/v3/dal_metadata.rb
@@ -60,8 +60,8 @@ module SiSU_metadata
class Metadata
def initialize(md,metad)
@md,@metadata=md,metad
- l=SiSU_Env::Standardise_language.new.file_to_language(md.fns)
- language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ language=l[:n]
@tr=SiSU_Translate::Source.new(md,language)
end
def make_para(obj,ocn)
diff --git a/lib/sisu/v3/db_columns.rb b/lib/sisu/v3/db_columns.rb
index 8b669b12..d8a6f3cf 100644
--- a/lib/sisu/v3/db_columns.rb
+++ b/lib/sisu/v3/db_columns.rb
@@ -64,6 +64,7 @@ module SiSU_DB_columns
def initialize(md=nil)
@md=md
@db=SiSU_Env::Info_db.new #watch
+ @lang ||=SiSU_i18n::Languages.new
if defined? md.opt.mod \
and md.opt.mod.inspect=~/import|update/ \
and FileTest.exist?(md.fns)
@@ -98,7 +99,7 @@ module SiSU_DB_columns
'title'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_title]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_title]}) NOT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -120,7 +121,7 @@ module SiSU_DB_columns
'title_main'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_title_part]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_title_part]}) NOT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -237,9 +238,8 @@ module SiSU_DB_columns
IS 'metadata document language [DC12]';}
end
def tuple
- t=if defined? @md.title.language \
- and @md.title.language=~/\S+/
- txt=@md.title.language
+ t=if @lang.list[@md.opt.lng][:n]
+ txt=@lang.list[@md.opt.lng][:n]
special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -259,9 +259,9 @@ module SiSU_DB_columns
IS 'metadata document language iso code';}
end
def tuple
- t=if defined? @md.title.language_char \
- and @md.title.language_char=~/\S+/
- txt=@md.title.language_char
+ t=if defined? @md.opt.lng \
+ and @md.opt.lng=~/\S+/
+ txt=@md.opt.lng
special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -599,9 +599,8 @@ module SiSU_DB_columns
IS 'metadata document language';}
end
def tuple
- t=if defined? @md.language.document \
- and @md.language.document=~/\S+/
- txt=@md.language.document
+ t=if @lang.list[@md.opt.lng][:n]
+ txt=@lang.list[@md.opt.lng][:n]
special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -614,16 +613,17 @@ module SiSU_DB_columns
'language_document_char'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_language_char]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_language_char]}) NOT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
IS 'metadata document language';}
end
def tuple
- t=if defined? @md.language.document_char \
- and @md.language.document_char=~/\S+/
- txt=@md.language.document_char
+ #modify check, is now required, SiSUv3d_
+ t=if defined? @md.opt.lng \
+ and @md.opt.lng=~/\S+/
+ txt=@md.opt.lng
special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1832,7 +1832,7 @@ module SiSU_DB_columns
'src_filename'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_filename]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_filename]}) NOT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
diff --git a/lib/sisu/v3/db_import.rb b/lib/sisu/v3/db_import.rb
index f1e7f064..541399a9 100644
--- a/lib/sisu/v3/db_import.rb
+++ b/lib/sisu/v3/db_import.rb
@@ -96,17 +96,17 @@ module SiSU_DB_import
@col[:lid] ||=0
@col[:lid]=@driver_sqlite3 \
? @conn.execute( sql ).join.to_i \
- : @conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ : @conn.execute( sql ) { |x| x.fetch_all.flatten[0] }
rescue
puts "#{__FILE__}:#{__LINE__}" if @opt.cmd =~/M/
end
@col[:lid]=0 if @col[:lid].nil? or @col[:lid].to_s.empty?
sql='SELECT MAX(nid) FROM endnotes'
begin
- @id_n ||=0
@id_n=@driver_sqlite3 \
? @conn.execute( sql ).join.to_i \
- : @id_n=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ : @id_n=@conn.execute( sql ) { |x| x.fetch_all.flatten[0] }
+ @id_n ||=0
rescue
puts "#{__FILE__}:#{__LINE__}" if @opt.cmd =~/M/
end
@@ -120,7 +120,13 @@ module SiSU_DB_import
@dal_array=SiSU_DAL::Source.new(@opt).get # dal file drawn here
SiSU_Screen::Ansi.new(@opt.cmd,"#{@db.psql.db}::#{@opt.fns}").puts_blue if @opt.cmd =~/vVM/
SiSU_Screen::Ansi.new(@opt.cmd,'Marshal Load',@fnc).puts_grey if @opt.cmd =~/v/
- select_first_match=%{ SELECT metadata_and_text.tid FROM metadata_and_text WHERE metadata_and_text.src_filename = '#{@opt.fns}'; }
+#%
+ select_first_match=%{
+ SELECT metadata_and_text.tid
+ FROM metadata_and_text
+ WHERE metadata_and_text.src_filename = '#{@opt.fns}'
+ AND metadata_and_text.language_document_char = '#{@opt.lng}'
+ ;}
file_exist=@sql_type=~/sqlite/ \
? @conn.get_first_value(select_first_match) \
: @conn.select_one(select_first_match)
@@ -187,7 +193,7 @@ module SiSU_DB_import
else
if file_exist
@db=SiSU_Env::Info_db.new
- puts "\n#{@cX.grey}file #{@cX.off} #{@cX.blue}#{@opt.fns}#{@cX.off} #{@cX.grey}already exists in database#{@cX.off} #{@cX.blue}#{@db.psql.db}#{@cX.off} #{@cX.brown}update instead?#{@cX.off}"
+ puts "\n#{@cX.grey}file #{@cX.off} #{@cX.blue}#{@opt.fns}#{@cX.off} in language code #{cX.blue}#{@opt.lng}#{cX.off} #{@cX.grey}already exists in database#{@cX.off} #{@cX.blue}#{@db.psql.db}#{@cX.off} #{@cX.brown}update instead?#{@cX.off}"
end
end
end
@@ -215,18 +221,18 @@ module SiSU_DB_import
#@tp[:title]=@md.title.full
#special_character_escape(@tp[:title])
#@tp[:title_f],@tp[:title_i]='title, ',"'#{@tp[:title]}', "
- sql='SELECT MAX(tid) FROM metadata_and_text'
+ sql='SELECT MAX(tid) FROM metadata_and_text;'
begin
@@id_t ||=0
id_t=if @driver_sqlite3
@conn.execute( sql ).join.to_i # { |x| id_t=x.join.to_i }
- else @conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ else
+ @conn.execute( sql ) { |x| x.fetch_all.flatten[0] }
end
@@id_t=id_t if id_t
rescue
puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
end
- @@id_t =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
@@id_t+=1 #bug related, needs to be performed once at start of file, but consider moving, as, placed here it means program will fail if document header lacks @title:
puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} if @opt.cmd =~/vVM/
end
@@ -421,7 +427,8 @@ module SiSU_DB_import
txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n}
end
if txt
- en={ type: 'endnotes',
+ en={
+ type: 'endnotes',
id: @id_n,
lid: @col[:lid],
nr: nr,
@@ -459,7 +466,8 @@ module SiSU_DB_import
txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n}
end
if txt
- en={ type: 'endnotes_asterisk',
+ en={
+ type: 'endnotes_asterisk',
id: @id_n,
lid: @col[:lid],
nr: nr,
@@ -497,7 +505,8 @@ module SiSU_DB_import
txt=%{\n\nLARGE TEXT BLOCK OMITTED\n\n}
end
if txt
- en={ type: 'endnotes_plus',
+ en={
+ type: 'endnotes_plus',
id: @id_n,
lid: @col[:lid],
nr: nr,
diff --git a/lib/sisu/v3/db_indexes.rb b/lib/sisu/v3/db_indexes.rb
index de20e4c4..64a51474 100644
--- a/lib/sisu/v3/db_indexes.rb
+++ b/lib/sisu/v3/db_indexes.rb
@@ -93,6 +93,7 @@ module SiSU_DB_index
%{CREATE INDEX idx_title ON metadata_and_text(title);},
%{CREATE INDEX idx_author ON metadata_and_text(creator_author);},
%{CREATE INDEX idx_filename ON metadata_and_text(src_filename);},
+ %{CREATE INDEX idx_language ON metadata_and_text(language_document_char);},
%{CREATE INDEX idx_topics ON metadata_and_text(classify_topic_register)},
]
conn_execute_array(sql_arr)
diff --git a/lib/sisu/v3/db_remove.rb b/lib/sisu/v3/db_remove.rb
index 025514b1..cfa19c9f 100644
--- a/lib/sisu/v3/db_remove.rb
+++ b/lib/sisu/v3/db_remove.rb
@@ -72,9 +72,19 @@ module SiSU_DB_remove
: false
end
del_id=if driver_sqlite3
- @conn.get_first_value(%{ SELECT tid FROM metadata_and_text WHERE src_filename = '#{@opt.fns}'; }).to_i
+ @conn.get_first_value(%{
+ SELECT tid
+ FROM metadata_and_text
+ WHERE src_filename = '#{@opt.fns}'
+ AND metadata_and_text.language_document_char = '#{@opt.lng}'
+ ;}).to_i
else
- x=@conn.select_one(%{ SELECT metadata_and_text.tid FROM metadata_and_text WHERE metadata_and_text.src_filename = '#{@opt.fns}'; })
+ x=@conn.select_one(%{
+ SELECT metadata_and_text.tid
+ FROM metadata_and_text
+ WHERE metadata_and_text.src_filename = '#{@opt.fns}'
+ AND metadata_and_text.language_document_char = '#{@opt.lng}'
+ ;})
x ? (x.join.to_i) : nil
end
if del_id
diff --git a/lib/sisu/v3/db_select.rb b/lib/sisu/v3/db_select.rb
index 9bf8acbc..0cd34bcd 100644
--- a/lib/sisu/v3/db_select.rb
+++ b/lib/sisu/v3/db_select.rb
@@ -164,7 +164,7 @@ module SiSU_DB_select
db_exist?
@sdb_import.marshal_load
tell=case @sql_type
- when /sqlite/; SiSU_Screen::Ansi.new(@opt.cmd,"sqlite #{@db.sqlite.db} database?")
+ when /sqlite/; SiSU_Screen::Ansi.new(@opt.cmd,"sqlite3 #{@db.sqlite.db} database?")
when /pg/; SiSU_Screen::Ansi.new(@opt.cmd,"pgaccess or psql #{@db.psql.db} database?")
else '???'
end
@@ -173,7 +173,13 @@ module SiSU_DB_select
db_exist?
@sdb_remove_doc.remove
@sdb_import.marshal_load
- SiSU_Screen::Ansi.new(@opt.cmd,"pgaccess or psql #{@db.psql.db} database?").puts_grey if @opt.cmd =~/v/
+ tell=case @sql_type
+ when /sqlite/; SiSU_Screen::Ansi.new(@opt.cmd,"sqlite3 #{@db.sqlite.db} database?")
+ when /pg/; SiSU_Screen::Ansi.new(@opt.cmd,"pgaccess or psql #{@db.psql.db} database?")
+ else '???'
+ end
+ tell.puts_grey if @opt.cmd =~/v/
+ when /^--update$/
when /^--remove$/
db_exist?
@sdb_remove_doc.remove
diff --git a/lib/sisu/v3/digests.rb b/lib/sisu/v3/digests.rb
index e11ac945..e7b303ba 100644
--- a/lib/sisu/v3/digests.rb
+++ b/lib/sisu/v3/digests.rb
@@ -58,7 +58,7 @@
=end
module SiSU_Digest_view
require_relative 'particulars' # particulars.rb
- require_relative 'i18n' # i18n.rb
+ require_relative 'prog_text_translation' # prog_text_translation.rb
require_relative 'shared_markup_alt.rb' # shared_markup_alt.rb
pwd=Dir.pwd
class Source
@@ -101,8 +101,8 @@ module SiSU_Digest_view
@@dg ||=@env.digest.type
@@dl ||=@env.digest.length
@dg,@dl=@@dg,@@dl
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- @language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ @language=l[:n]
@tr=SiSU_Translate::Source.new(@md,@language)
@sp=' '
end
diff --git a/lib/sisu/v3/git.rb b/lib/sisu/v3/git.rb
index 9d1d9332..bef93bc3 100644
--- a/lib/sisu/v3/git.rb
+++ b/lib/sisu/v3/git.rb
@@ -67,7 +67,7 @@ module SiSU_Git
@env=SiSU_Env::Info_env.new
@md=SiSU_Param::Parameters.new(@opt).get
@file=SiSU_Env::SiSU_file.new(@md)
- l=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
unless @md.i18n[0]==l[:c]
p "using: #{@md.i18n[0]} (@make: :language:); filename #{@md.fns} filename language: #{l[:c]}, mismatch"
end
diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb
index e20b4293..ed3aad1d 100644
--- a/lib/sisu/v3/hub.rb
+++ b/lib/sisu/v3/hub.rb
@@ -105,6 +105,7 @@ module SiSU
@opt.fns=fns
@opt.pth=@opt.paths[i]
@opt.f_pth=@opt.f_pths[i]
+ @opt.lng=@opt.lngs[i]
@@pwd=@opt.pth
Dir.chdir(@opt.pth) #watch
env=SiSU_Env::Info_env.new(fns)
diff --git a/lib/sisu/v3/i18n.rb b/lib/sisu/v3/i18n.rb
index 9fbe8c3e..1001b6fb 100644
--- a/lib/sisu/v3/i18n.rb
+++ b/lib/sisu/v3/i18n.rb
@@ -57,6 +57,160 @@
=end
module SiSU_i18n
+ @@language_table,@@language_list=nil,nil
+ class Languages
+ def language
+ def table
+ @@language_table ||= {
+ am: { c: 'am', n: 'Amharic', xlp: 'amharic'},
+ bg: { c: 'bg', n: 'Bulgarian', xlp: 'bulgarian'},
+ bn: { c: 'bn', n: 'Bengali', xlp: 'bengali'},
+ br: { c: 'br', n: 'Breton', xlp: 'breton'},
+ ca: { c: 'ca', n: 'Catalan', xlp: 'catalan'},
+ cs: { c: 'cs', n: 'Czech', xlp: 'czech'},
+ cy: { c: 'cy', n: 'Welsh', xlp: 'welsh'},
+ da: { c: 'da', n: 'Danish', xlp: 'danish'},
+ de: { c: 'de', n: 'German', xlp: 'german'},
+ el: { c: 'el', n: 'Greek', xlp: 'greek'},
+ en: { c: 'en', n: 'English', xlp: 'english'},
+ eo: { c: 'eo', n: 'Esperanto', xlp: 'esperanto'},
+ es: { c: 'es', n: 'Spanish', xlp: 'spanish'},
+ et: { c: 'et', n: 'Estonian', xlp: 'estonian'},
+ eu: { c: 'eu', n: 'Basque', xlp: 'basque'},
+ fi: { c: 'fi', n: 'Finnish', xlp: 'finnish'},
+ fr: { c: 'fr', n: 'French', xlp: 'french'},
+ ga: { c: 'ga', n: 'Irish', xlp: 'irish'},
+ gl: { c: 'gl', n: 'Galician', xlp: 'galician'},
+ he: { c: 'he', n: 'Hebrew', xlp: 'hebrew'},
+ hi: { c: 'hi', n: 'Hindi', xlp: 'hindi'},
+ hr: { c: 'hr', n: 'Croatian', xlp: 'croatian'},
+ hy: { c: 'hy', n: 'Armenian', xlp: 'armenian'},
+ ia: { c: 'ia', n: 'Interlingua', xlp: 'interlingua'},
+ is: { c: 'is', n: 'Icelandic', xlp: 'icelandic'},
+ it: { c: 'it', n: 'Italian', xlp: 'italian'},
+ la: { c: 'la', n: 'Latin', xlp: 'latin'},
+ lo: { c: 'lo', n: 'Lao', xlp: 'lao'},
+ lt: { c: 'lt', n: 'Lithuanian', xlp: 'lithuanian'},
+ lv: { c: 'lv', n: 'Latvian', xlp: 'latvian'},
+ ml: { c: 'ml', n: 'Malayalam', xlp: 'malayalam'},
+ mr: { c: 'mr', n: 'Marathi', xlp: 'marathi'},
+ nl: { c: 'nl', n: 'Dutch', xlp: 'dutch'},
+ no: { c: 'no', n: 'Norwegian', xlp: 'norsk'},
+ nn: { c: 'nn', n: 'Norwegian Nynorsk', xlp: 'nynorsk'},
+ oc: { c: 'oc', n: 'Occitan', xlp: 'occitan'},
+ pl: { c: 'pl', n: 'Polish', xlp: 'polish'},
+ pt: { c: 'pt', n: 'Portuguese', xlp: 'portuges'},
+ pt_BR: { c: 'pt_BR', n: 'Portuguese Brazil', xlp: 'brazilian'},
+ ro: { c: 'ro', n: 'Romanian', xlp: 'romanian'},
+ ru: { c: 'ru', n: 'Russian', xlp: 'russian'},
+ sa: { c: 'sa', n: 'Sanskrit', xlp: 'sanskrit'},
+ se: { c: 'se', n: 'Sami', xlp: 'samin'},
+ sk: { c: 'sk', n: 'Slovak', xlp: 'slovak'},
+ sl: { c: 'sl', n: 'Slovenian', xlp: 'slovenian'},
+ sq: { c: 'sq', n: 'Albanian', xlp: 'albanian'},
+ sr: { c: 'sr', n: 'Serbian', xlp: 'serbian'},
+ sv: { c: 'sv', n: 'Swedish', xlp: 'swedish'},
+ ta: { c: 'ta', n: 'Tamil', xlp: 'tamil'},
+ te: { c: 'te', n: 'Telugu', xlp: 'telugu'},
+ th: { c: 'th', n: 'Thai', xlp: 'thai'},
+ tk: { c: 'tk', n: 'Turkmen', xlp: 'turkmen'},
+ tr: { c: 'tr', n: 'Turkish', xlp: 'turkish'},
+ uk: { c: 'uk', n: 'Ukranian', xlp: 'ukrainian'},
+ ur: { c: 'ur', n: 'Urdu', xlp: 'urdu'},
+ us: { c: 'en', n: 'English (American)',xlp: 'english'},
+ vi: { c: 'vi', n: 'Vietnamese', xlp: 'vietnamese'},
+ en: { c: 'en', n: 'English', xlp: 'english'},
+ xx: { c: 'xx', n: 'Default', xlp: 'english'},
+ }
+ end
+ def list
+ @@language_list ||= {
+ 'am' => table[:am],
+ 'bg' => table[:bg],
+ 'bn' => table[:bn],
+ 'br' => table[:br],
+ 'ca' => table[:ca],
+ 'cs' => table[:cs],
+ 'cy' => table[:cy],
+ 'da' => table[:da],
+ 'de' => table[:de],
+ 'el' => table[:el],
+ 'en' => table[:en],
+ 'eo' => table[:eo],
+ 'es' => table[:es],
+ 'et' => table[:et],
+ 'eu' => table[:eu],
+ 'fi' => table[:fi],
+ 'fr' => table[:fr],
+ 'ga' => table[:ga],
+ 'gl' => table[:gl],
+ 'he' => table[:he],
+ 'hi' => table[:hi],
+ 'hr' => table[:hr],
+ 'hy' => table[:hy],
+ 'ia' => table[:ia],
+ 'is' => table[:is],
+ 'it' => table[:it],
+ 'la' => table[:la],
+ 'lo' => table[:lo],
+ 'lt' => table[:lt],
+ 'lv' => table[:lv],
+ 'ml' => table[:ml],
+ 'mr' => table[:mr],
+ 'nl' => table[:nl],
+ 'no' => table[:no],
+ 'nn' => table[:nn],
+ 'oc' => table[:oc],
+ 'pl' => table[:pl],
+ 'pt' => table[:pt],
+ 'pt_BR' => table[:pt_BR],
+ 'ro' => table[:ro],
+ 'ru' => table[:ru],
+ 'sa' => table[:sa],
+ 'se' => table[:se],
+ 'sk' => table[:sk],
+ 'sl' => table[:sl],
+ 'sq' => table[:sq],
+ 'sr' => table[:sr],
+ 'sv' => table[:sv],
+ 'ta' => table[:ta],
+ 'te' => table[:te],
+ 'th' => table[:th],
+ 'tk' => table[:tk],
+ 'tr' => table[:tr],
+ 'uk' => table[:uk],
+ 'ur' => table[:ur],
+ 'us' => table[:en],
+ 'vi' => table[:vi],
+ 'en' => table[:en],
+ 'xx' => table[:en]
+ }
+ end
+ self
+ end
+ end
+end
+__END__
+Language Lists
+* po4a c:
+ <http://www.debian.org/international/l10n/po/>
+ Px[:lng_lst]=%w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi]
+* polyglossia xlp:
+ <http://mirrors.ctan.org/macros/xetex/latex/polyglossia/polyglossia.pdf>
+ missing from (:c) list:
+ arabic asturian bahasai bahasam coptic divehi farsi lsorbian magyar scottish syriac usorbian
+note ISO_639-1
+ <http://en.wikipedia.org/wiki/ISO_639-1>
+ <http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>
+also note ISO_639-2
+ <http://en.wikipedia.org/wiki/ISO_639-2>
+ <http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes>
+
+Px[:lng_lst] # constants.rb
+
+
+
+module SiSU_text_translation
class Language
def initialize(md)
@md=md
@@ -140,1642 +294,3 @@ module SiSU_i18n
end
end
end
-module SiSU_Translate
- require_relative 'sysenv' # sysenv.rb
- include SiSU_Env; include SiSU_Param
- class Source
- def initialize(md,doc_lang,trans_str='')
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- @lang_class=case @doc_lang
- when /American/i; English.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
- when /English/i; English.new(md,doc_lang,trans_str)
- when /French/i; French.new(md,doc_lang,trans_str)
- when /German/i; German.new(md,doc_lang,trans_str)
- when /Italian/i; Italian.new(md,doc_lang,trans_str)
- when /Spanish/i; Spanish.new(md,doc_lang,trans_str)
- when /Brazilian(?: Portuguese)?/i; Portuguese.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
- when /Portuguese/i; Portuguese.new(md,doc_lang,trans_str)
- when /Swedish/i; Swedish.new(md,doc_lang,trans_str)
- when /Danish/i; Danish.new(md,doc_lang,trans_str)
- when /Finnish/i; Finnish.new(md,doc_lang,trans_str)
- when /Norwegian/i; Norwegian.new(md,doc_lang,trans_str)
- when /Icelandic/i; Icelandic.new(md,doc_lang,trans_str)
- when /Dutch/i; Dutch.new(md,doc_lang,trans_str)
- when /Estonian/i; Estonian.new(md,doc_lang,trans_str)
- when /Hungarian/i; Hungarian.new(md,doc_lang,trans_str)
- when /Polish/i; Polish.new(md,doc_lang,trans_str)
- when /Romanian/i; Romanian.new(md,doc_lang,trans_str)
- when /Russian/i; Russian.new(md,doc_lang,trans_str)
- when /Greek/i; Greek.new(md,doc_lang,trans_str)
- when /Ukranian/i; Ukranian.new(md,doc_lang,trans_str)
- when /Turkish/i; Turkish.new(md,doc_lang,trans_str)
- when /Slovenian/i; Slovenian.new(md,doc_lang,trans_str)
- when /Croatian/i; Croatian.new(md,doc_lang,trans_str)
- when /Slovak(?:ian)?/i; Slovak.new(md,doc_lang,trans_str)
- when /Czech/i; Czech.new(md,doc_lang,trans_str)
- when /Bulgarian/i; Bulgarian.new(md,doc_lang,trans_str)
- else English.new(md,doc_lang,trans_str)
- end
- end
-
- def filename
- @lang_class.filename
- end
- def description
- @lang_class.description
- end
- def metadata
- @lang_class.metadata
- end
- def filetype_description
- @lang_class.filetype_description
- end
- def file_size
- @lang_class.file_size
- end
- def sourcefile
- @lang_class.sourcefile
- end
- def sourcefile_digest
- @lang_class.sourcefile_digest
- end
- def full_title #dc
- @lang_class.full_title
- end
- def title
- @lang_class.title
- end
- def subtitle
- @lang_class.subtitle
- end
- def author
- @lang_class.author
- end
- def contributor
- @lang_class.contributor
- end
- def translator
- @lang_class.translator
- end
- def illustrator
- @lang_class.illustrator
- end
- def publisher
- @lang_class.publisher
- end
- def prepared_by
- @lang_class.prepared_by
- end
- def digitized_by
- @lang_class.digitized_by
- end
- def subject
- @lang_class.subject
- end
- def description #dc (watch)
- @lang_class.description
- end
- def abstract
- @lang_class.abstract
- end
- def type
- @lang_class.type
- end
- def rights
- @lang_class.rights
- end
- def digitized_by
- @lang_class.digitized_by
- end
- def date
- @lang_class.date
- end
- def date_created
- @lang_class.date_created
- end
- def date_available
- @lang_class.date_available
- end
- def date_valid
- @lang_class.date_valid
- end
- def date_modified
- @lang_class.date_modified
- end
- def date_issued
- @lang_class.date_issued
- end
- def language
- @lang_class.language
- end
- def language_original
- @lang_class.language_original
- end
- def format
- @lang_class.format
- end
- def identifier
- @lang_class.identifier
- end
- def source
- @lang_class.source
- end
- def relation
- @lang_class.relation
- end
- def coverage
- @lang_class.coverage
- end
- def keywords
- @lang_class.keywords
- end
- def comments
- @lang_class.comments
- end
- def cls_loc
- @lang_class.cls_loc
- end
- def cls_dewey
- @lang_class.cls_dewey
- end
- def cls_oclc
- @lang_class.cls_oclc
- end
- def cls_gutenberg
- @lang_class.cls_gutenberg
- end
- def cls_isbn
- @lang_class.cls_isbn
- end
- def prefix_a
- @lang_class.prefix_a
- end
- def prefix_b
- @lang_class.prefix_b
- end
- def topic_register
- @lang_class.topic_register
- end
- def fns
- @lang_class.fns
- end
- def word_count
- @lang_class.word_count
- end
- def dgst
- @lang_class.dgst
- end
- def sc_number
- @lang_class.sc_number
- end
- def sc_date
- @lang_class.sc_date
- end
- def last_generated
- @lang_class.last_generated
- end
- def sisu_version
- @lang_class.sisu_version
- end
- def ruby_version
- @lang_class.ruby_version
- end
- def suggested_links
- @lang_class.suggested_links
- end
- def language_version_list
- @lang_class.language_version_list
- end
- def language
- @lang_class.language
- end
- def manifest_description
- @lang_class.manifest_description
- end
- def manifest_description_output
- @lang_class.manifest_description_output
- end
- def manifest_description_metadata
- @lang_class.manifest_description_metadata
- end
- def language_list_translated
- @lang_class.language_list
- end
- def language_list
- lang=case @trans_str
- when /American/i; 'American English' # tag depreciated, see iso 639-2
- when /English/i; 'English'
- when /French/i; 'français'
- when /German/i; 'Deutsch'
- when /Italian/i; 'Italiano'
- when /Spanish/i; 'español'
- when /Brazilian(?: Portuguese)?/i; 'Brazilian Português' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Português'
- when /Swedish/i; 'svenska'
- when /Danish/i; 'dansk'
- when /Finnish/i; 'suomi'
- when /Norwegian/i; 'norsk'
- when /Icelandic/i; 'Icelandic'
- when /Dutch/i; 'Nederlands'
- when /Estonian/i; 'Estonian'
- when /Hungarian/i; 'Hungarian'
- when /Polish/i; 'polski'
- when /Romanian/i; 'română'
- when /Russian/i; 'Русский (Russkij)'
- when /Greek/i; 'Ελληνικά (Ellinika)'
- when /Ukranian/i; 'українська (ukrajins\'ka)'
- when /Turkish/i; 'Türkçe'
- when /Slovenian/i; 'Slovenian'
- when /Croatian/i; 'Croatian'
- when /Slovak(?:ian)?/i; 'slovensky' #slovensky ?
- when /Czech/i; 'česky'
- when /Bulgarian/i; 'Български (Bəlgarski)'
- when /Japanese/i; '日本語 (Nihongo)'
- when /Korean/i; '한국어 (Hangul)'
- #when /Catalan/i; 'català'
- else 'English'
- end
- #check on 中文 and عربي
- end
- end
- class English
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'filename'
- end
- def description
- 'description'
- end
- def filetype_description
- 'filetype description'
- end
- def metadata
- 'metadata'
- end
- def file_size
- 'file size'
- end
- def full_title #dc
- 'Title'
- end
- def title
- 'Title'
- end
- def subtitle
- 'Subtitle'
- end
- def author
- 'Author'
- end
- def author #dc
- 'Creator'
- end
- def contributor #dc
- 'Contributor'
- end
- def translator
- 'Translator'
- end
- def illustrator
- 'Illustrator'
- end
- def publisher #dc
- 'Publisher'
- end
- def prepared_by
- 'Prepared by'
- end
- def digitized_by
- 'Digitized by'
- end
- def subject #dc
- 'Subject'
- end
- def description #dc (watch)
- 'Description'
- end
- def abstract #dc
- 'Abstract'
- end
- def type #dc
- 'Type'
- end
- def rights #dc
- 'Rights'
- end
- def date #dc
- 'Date'
- end
- def date_created #dc
- 'Date created'
- end
- def date_issued #dc
- 'Date issued'
- end
- def date_available #dc
- 'Date available'
- end
- def date_modified #dc
- 'Date modified'
- end
- def date_valid #dc
- 'Date valid'
- end
- def language #dc
- 'Language'
- end
- def language_original
- 'Original Language'
- end
- def format #dc
- 'Format'
- end
- def identifier #dc
- 'Identifier'
- end
- def source #dc
- 'Source'
- end
- def relation #dc
- 'Relation'
- end
- def coverage #dc
- 'Coverage'
- end
- def keywords
- 'Keywords'
- end
- def comments
- 'Comments'
- end
- def cls_loc
- 'Classify Library of Congress'
- end
- def cls_dewey
- 'Classify Dewey'
- end
- def cls_oclc
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Classify Project Gutenberg'
- end
- def cls_isbn
- 'Classify ISBN'
- end
- def prefix_a
- 'Prefix (a)'
- end
- def prefix_b
- 'Prefix (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Sourcefile'
- end
- def word_count
- 'Word Count approximate'
- end
- def sourcefile_digest
- 'Sourcefile Digest'
- end
- def digest_md5
- 'Sourcefile Digest (md5)'
- end
- def digest_sha256
- 'Sourcefile Digest (sha256)'
- end
- def sc_number
- 'Document (RCS/CVS) number'
- end
- def sc_date
- 'Document (RCS/CVS) number'
- end
- def last_generated
- 'Document (dal) last generated'
- end
- def sisu_version
- 'Generated by'
- end
- def ruby_version
- 'Ruby version'
- end
- def suggested_links
- 'metadata suggested links'
- end
- def language_version_list
- 'Document Language Versions, manifests'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'Available document filetypes'
- end
- def manifest_description_metadata
- 'Document Metadata'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'American English' # tag depreciated, see iso 639-2
- when /English/i; 'English'
- when /French/i; 'French'
- when /German/i; 'German'
- when /Italian/i; 'Italian'
- when /Spanish/i; 'Spanish'
- when /Brazilian(?: Portuguese)?/i; 'Brazilian Portuguese' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portuguese'
- when /Swedish/i; 'Swedish'
- when /Danish/i; 'Danish'
- when /Finnish/i; 'Finnish'
- when /Norwegian/i; 'Norwegian'
- when /Icelandic/i; 'Icelandic'
- when /Dutch/i; 'Dutch'
- when /Estonian/i; 'Estonian'
- when /Hungarian/i; 'Hungarian'
- when /Polish/i; 'Polish'
- when /Romanian/i; 'Romanian'
- when /Russian/i; 'Russian'
- when /Greek/i; 'Greek'
- when /Ukranian/i; 'Ukranian'
- when /Turkish/i; 'Turkish'
- when /Slovenian/i; 'Slovenian'
- when /Croatian/i; 'Croatian'
- when /Slovak(?:ian)?/i; 'Slovakian'
- when /Czech/i; 'Czech'
- when /Bulgarian/i; 'Bulgarian'
- else @trans_str
- end
- end
- end
- class French
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'nom de fichier'
- end
- def description
- 'description'
- end
- def filetype_description
- description
- end
- def metadata
- 'metadonnées'
- end
- def file_size
- 'taille'
- end
- def full_title #dc
- 'Titre'
- end
- def title
- 'Titre'
- end
- def subtitle
- 'Sous titre'
- end
- def author
- 'Auteur'
- end
- def author #dc
- 'Auteur'
- end
- def contributor #dc
- 'Contributeur'
- end
- def translator
- 'Traducteur'
- end
- def illustrator
- 'Illustrateur'
- end
- def publisher #dc
- 'Éditeur'
- end
- def prepared_by
- 'Préparé par'
- end
- def digitized_by
- 'Numérisé par'
- end
- def subject #dc
- 'Sujet'
- end
- def description #dc (watch)
- 'Description'
- end
- def abstract #dc
- 'Résumé'
- end
- def type #dc
- 'Type'
- end
- def rights #dc
- 'Droits relatifs à la ressource'
- end
- def date #dc
- 'Date'
- end
- def date_created #dc
- 'Date de création'
- end
- def date_issued #dc
- 'Date de publication'
- end
- def date_available #dc
- 'Date de mise à disposition'
- end
- def date_modified #dc
- 'Date de modification'
- end
- def date_valid #dc
- 'Date de validité'
- end
- def language #dc
- 'Langue'
- end
- def language_original
- 'Langue originale'
- end
- def format #dc
- 'Format'
- end
- def identifier #dc
- 'Identifiant'
- end
- def source #dc
- 'Source'
- end
- def relation #dc
- 'Lien'
- end
- def coverage #dc
- 'Portée du document'
- end
- def keywords
- 'Mots clef'
- end
- def comments
- 'Commentaires'
- end
- def cls_loc
- 'Classification de la bibliothèque du congres'
- end
- def cls_dewey
- 'Classification Dewey'
- end
- def cls_oclc # fix
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Classification du project Gutenberg'
- end
- def cls_isbn
- 'Classification ISBN'
- end
- def prefix_a
- 'Préfixe (a)'
- end
- def prefix_b
- 'Préfixe (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Fichier source'
- end
- def word_count
- 'Nombre approximatif de mots'
- end
- def sourcefile_digest
- 'Condensé du fichier source'
- end
- def digest_md5
- 'Condensé du fichier source (md5)'
- end
- def digest_sha256
- 'Condensé du fichier source (sha256)'
- end
- def sc_number
- 'Numéro (RCS/CVS) du document'
- end
- def sc_date
- 'Numéro (RCS/CVS) du document'
- end
- def last_generated
- 'Dernière production du document (metaverse)'
- end
- def sisu_version
- 'Généré par'
- end
- def ruby_version
- 'Version de Ruby'
- end
- def suggested_links
- 'Liens suggérés'
- end
- def language_version_list
- 'Versions des langues du document, manifestes'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'Manifeste SiSU du document généré'
- end
- def manifest_description_metadata
- 'Manifeste SiSU des métadonnées du document'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'Anglais americain' # tag depreciated, see iso 639-2
- when /English/i; 'Anglais'
- when /French/i; 'Français'
- when /German/i; 'Allemand'
- when /Italian/i; 'Italien'
- when /Spanish/i; 'Espagnol'
- when /Brazilian(?: Portuguese)?/i; 'Portugais brésilien' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portugais'
- when /Swedish/i; 'Suédois'
- when /Danish/i; 'Danois'
- when /Finnish/i; 'Finnois'
- when /Norwegian/i; 'Norvégien'
- when /Icelandic/i; 'Islandais'
- when /Dutch/i; 'Néerlandais'
- when /Estonian/i; 'Estonien'
- when /Hungarian/i; 'Hongrois'
- when /Polish/i; 'Polonais'
- when /Romanian/i; 'Roumain'
- when /Russian/i; 'Russe'
- when /Greek/i; 'Grec'
- when /Ukranian/i; 'Ukrainien'
- when /Turkish/i; 'Turc'
- when /Slovenian/i; 'Slovène'
- when /Croatian/i; 'Croate'
- when /Slovak(?:ian)?/i; 'Slovaque'
- when /Czech/i; 'Tcheque'
- when /Bulgarian/i; 'Bulgare'
- else @trans_str
- end
- end
- end
- class German
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'Dateiname'
- end
- def description
- 'Beschreibung'
- end
- def filetype_description
- description
- end
- def metadata
- 'Metadata'
- end
- def file_size
- 'Dateigrösse'
- end
- def full_title #dc
- 'Titel'
- end
- def title
- 'Titel'
- end
- def subtitle
- 'Untertitel'
- end
- def author
- 'Autor'
- end
- def contributor #dc
- 'Mitautor'
- end
- def translator
- 'Übersetzung'
- end
- def illustrator
- 'Illustrator'
- end
- def publisher
- 'Herausgeber'
- end
- def prepared_by
- 'gesetzt von'
- end
- def digitized_by
- 'digitalisiert von'
- end
- def subject
- 'Titel'
- end
- def description #dc (watch)
- 'Beschreibung'
- end
- def abstract #dc
- 'Abstract'
- end
- def type
- 'Typ'
- end
- def rights
- 'Rechte'
- end
- def date
- 'Datum'
- end
- def date_created
- 'Erstellung'
- end
- def date_issued
- 'Herausgabe'
- end
- def date_available
- 'Veröffentlichung'
- end
- def date_modified
- 'Modifikation'
- end
- def date_valid
- 'Gültigkeit'
- end
- def language
- 'Sprache'
- end
- def language_original
- 'Ursprungssprache'
- end
- def format #dc
- 'Format'
- end
- def identifier #dc
- 'Bezeichnung'
- end
- def source #dc
- 'Quelle'
- end
- def relation #dc
- 'Beziehung'
- end
- def coverage #dc
- 'Eingrenzung'
- end
- def keywords
- 'Schlüsselwörter'
- end
- def comments
- 'Kommentare'
- end
- def cls_loc
- 'Klassifikation nach Library of Congress'
- end
- def cls_dewey
- 'Klassifikation nach Dewey'
- end
- def cls_oclc # fix
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Klassifikation nach Projekt Gutenberg'
- end
- def cls_isbn
- 'Klassifikation nach ISBN'
- end
- def prefix_a
- 'Präfix (a)'
- end
- def prefix_b
- 'Präfix (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Quelldatei'
- end
- def word_count
- 'Anzahl Wörter'
- end
- def sourcefile_digest
- 'Quelldatei Digest'
- end
- def digest_md5
- 'Prüfsumme der Quelldatei (MD5)'
- end
- def digest_sha256
- 'Prüfsumme der Quelldatei (SHA256)'
- end
- def sc_number
- 'Dokumentversion (RCS/CVS)'
- end
- def sc_date
- 'Dokumentdatum (RCS/CVS)'
- end
- def last_generated
- 'Letzte Erstellung (metaverse)'
- end
- def sisu_version
- 'erstellt bei'
- end
- def ruby_version
- 'Ruby Version'
- end
- def suggested_links
- 'empfohlene Links'
- end
- def language_version_list
- 'verfügbare Sprachen'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'SiSU Zusammenfassung des Dokumentes'
- end
- def manifest_description_metadata
- 'SiSU Zusammenfassung der Metadaten'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'Amerikanisch-Englisch' # tag depreciated, see iso 639-2
- when /English/i; 'Englisch'
- when /French/i; 'Französisch'
- when /German/i; 'Deutsch'
- when /Italian/i; 'Italienisch'
- when /Spanish/i; 'Spanisch'
- when /Brazilian(?: Portuguese)?/i; 'Brasilianisch-Portugiesisch' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portugiesisch'
- when /Swedish/i; 'Schwedisch'
- when /Danish/i; 'Dänisch'
- when /Finnish/i; 'Finnisch'
- when /Norwegian/i; 'Norwegisch'
- when /Icelandic/i; 'Isländisch'
- when /Dutch/i; 'Niederländisch'
- when /Estonian/i; 'Estnisch'
- when /Hungarian/i; 'Ungarisch'
- when /Polish/i; 'Polnisch'
- when /Romanian/i; 'Rumänisch'
- when /Russian/i; 'Russisch'
- when /Greek/i; 'Griechisch'
- when /Ukranian/i; 'Ukrainisch'
- when /Turkish/i; 'Türkisch'
- when /Slovenian/i; 'Slovenisch'
- when /Croatian/i; 'Kroatisch'
- when /Slovak(?:ian)?/i; 'Slovakisch'
- when /Czech/i; 'Tschechisch'
- when /Bulgarian/i; 'Bulgarisch'
- else @trans_str
- end
- end
- end
- class Spanish
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'nombre del fichero'
- end
- def description
- 'descripción'
- end
- def filetype_description
- description
- end
- def metadata
- 'metadatos'
- end
- def file_size
- 'tamaño del fichero'
- end
- def full_title #dc
- 'Título'
- end
- def title
- 'Título'
- end
- def subtitle
- 'Subtítulo'
- end
- def author #dc
- 'Creador'
- end
- def contributor #dc
- 'Contribuidor'
- end
- def translator
- 'Traductor'
- end
- def illustrator
- 'Ilustrador'
- end
- def publisher #dc
- 'Editor'
- end
- def prepared_by
- 'Preparado por'
- end
- def digitized_by
- 'Digitalizado por'
- end
- def subject #dc
- 'Asunto'
- end
- def description #dc (watch)
- 'Descripción'
- end
- def abstract #dc
- 'Resumen'
- end
- def type #dc
- 'Tipo'
- end
- def rights #dc
- 'Derechos'
- end
- def date #dc
- 'Fecha'
- end
- def date_created #dc
- 'Fecha de creación'
- end
- def date_issued #dc
- 'Fecha de publicación'
- end
- def date_available #dc
- 'Fecha de disponibilidad'
- end
- def date_modified #dc
- 'Fecha de modificación'
- end
- def date_valid #dc
- 'Fecha de valided'
- end
- def language #dc
- 'Idioma'
- end
- def language_original
- 'Lenguaje original'
- end
- def format #dc
- 'Formato'
- end
- def identifier #dc
- 'Identificador'
- end
- def source #dc
- 'Fuente'
- end
- def relation #dc
- 'Relación'
- end
- def coverage #dc
- 'Cobertura'
- end
- def keywords
- 'Palabras claves'
- end
- def comments
- 'Comentarios'
- end
- def cls_loc
- 'Clasificación Biblioteca del Congreso'
- end
- def cls_dewey
- 'Clasificación Dewey'
- end
- def cls_oclc # fix
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Clasificación Proyecto Gutenberg'
- end
- def cls_isbn
- 'Clasificación ISBN'
- end
- def prefix_a
- 'Prefijo (a)'
- end
- def prefix_b
- 'Prefijo (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Fichero fuente'
- end
- def word_count
- 'Número de palabras apróximado'
- end
- def sourcefile_digest
- 'Resumen del fichero fuente'
- end
- def digest_md5
- 'Resumen del fichero fuente (md5)'
- end
- def digest_sha256
- 'Resumen del fichero fuente (sha256)'
- end
- def sc_number
- 'Versión (RCS/CVS) del documento'
- end
- def sc_date
- 'Versión (RCS/CVS) del documento'
- end
- def last_generated
- 'Última generación (metaverse) del documento'
- end
- def sisu_version
- 'Generado por'
- end
- def ruby_version
- 'Versión de Ruby'
- end
- def suggested_links
- 'enlaces sugeridos de metadatos'
- end
- def language_version_list
- 'Document Language Versions, manifests'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'Manifiesto SiSU de salida generada'
- end
- def manifest_description_metadata
- 'Manifiesto SiSU de metadatos de documento'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'Inglés Americano' # tag depreciated, see iso 639-2
- when /English/i; 'Inglés'
- when /French/i; 'Francés'
- when /German/i; 'Alemán'
- when /Italian/i; 'Italiano'
- when /Spanish/i; 'Español'
- when /Brazilian(?: Portuguese)?/i; 'Portugués de Brasil' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portugués'
- when /Swedish/i; 'Sueco'
- when /Danish/i; 'Danés'
- when /Finnish/i; 'Finés'
- when /Norwegian/i; 'Noruego'
- when /Icelandic/i; 'Islandés'
- when /Dutch/i; 'Holandés'
- when /Estonian/i; 'Estonio'
- when /Hungarian/i; 'Húngaro'
- when /Polish/i; 'Polaco'
- when /Romanian/i; 'Rumano'
- when /Russian/i; 'Ruso'
- when /Greek/i; 'Griego'
- when /Ukranian/i; 'Ucraniano'
- when /Turkish/i; 'Turco'
- when /Slovenian/i; 'Eslovaco'
- when /Croatian/i; 'Croata'
- when /Slovak(?:ian)?/i; 'Eslovaco'
- when /Czech/i; 'Checo'
- when /Bulgarian/i; 'Búlgaro'
- else @trans_str
- end
- end
- end
- class Italian
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'nome del file'
- end
- def description
- 'descrizione'
- end
- def filetype_description
- description
- end
- def metadata
- 'metadati'
- end
- def file_size
- 'dimensione'
- end
- def full_title #dc
- 'Titolo'
- end
- def title
- 'Titolo'
- end
- def subtitle
- 'Sottotitolo'
- end
- def author #dc
- 'Autore'
- end
- def contributor #dc
- 'Contributore'
- end
- def translator
- 'Traduttore'
- end
- def illustrator
- 'Illustratore'
- end
- def publisher #dc
- 'Casa editrice'
- end
- def prepared_by
- 'Preparato da'
- end
- def digitized_by
- 'Convertito in digitale da'
- end
- def subject #dc
- 'Oggetto'
- end
- def description #dc (watch)
- 'Descrizione'
- end
- def abstract #dc
- 'Abstract'
- end
- def type #dc
- 'Tipo'
- end
- def rights #dc
- 'Diritti del lettore'
- end
- def date #dc
- 'Data'
- end
- def date_created #dc
- 'Data di creazione'
- end
- def date_issued #dc
- 'Data di pubblicazione'
- end
- def date_available #dc
- 'Data di effettiva disponibilità'
- end
- def date_modified #dc
- 'Data di ultima modifica'
- end
- def date_valid #dc
- 'Data di inizo validità'
- end
- def language #dc
- 'Lingua'
- end
- def language_original
- 'Lingua originale'
- end
- def format #dc
- 'Formato'
- end
- def identifier #dc
- 'Indentificatore'
- end
- def source #dc
- 'Fonte'
- end
- def relation #dc
- 'Collegamento'
- end
- def coverage #dc
- 'Ambito'
- end
- def keywords
- 'Parole chiave'
- end
- def comments
- 'Commenti'
- end
- def cls_loc
- 'Classificazione della Library of Congress'
- end
- def cls_dewey
- 'Classificazione Dewey'
- end
- def cls_oclc # fix
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Classificazione del Progetto Gutenberg'
- end
- def cls_isbn
- 'Numero ISBN'
- end
- def prefix_a
- 'Premessa (a)'
- end
- def prefix_b
- 'Premessa (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Sorgente'
- end
- def word_count
- 'Numero approssimativo di parole'
- end
- def sourcefile_digest
- 'Checksum file sorgente'
- end
- def digest_md5
- 'Checksum file sorgente (md5)'
- end
- def digest_sha256
- 'Checksum file sorgente (sha256)'
- end
- def sc_number
- 'Numero di revisione (RCS/CVS)'
- end
- def sc_date
- 'Numero di revisione (RCS/CVS)'
- end
- def last_generated
- 'Data di ultima generazione (dal metaverse)'
- end
- def sisu_version
- 'Generato da'
- end
- def ruby_version
- 'Ruby versione'
- end
- def suggested_links
- 'Link suggeriti'
- end
- def language_version_list
- 'Traduzioni disponibili'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'Inventario SiSU dell\'output generato'
- end
- def manifest_description_metadata
- 'Inventario SiSU dei metadati'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'Inglese USA' # tag depreciated, see iso 639-2
- when /English/i; 'Inglese'
- when /French/i; 'Francese'
- when /German/i; 'Tedesco'
- when /Italian/i; 'Italiano'
- when /Spanish/i; 'Spagnolo'
- when /Brazilian(?: Portuguese)?/i; 'Portoguese (Brasile)' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portoguese'
- when /Swedish/i; 'Svedese'
- when /Danish/i; 'Danese'
- when /Finnish/i; 'Finlandese'
- when /Norwegian/i; 'Norvegese'
- when /Icelandic/i; 'Islandese'
- when /Dutch/i; 'Olandese'
- when /Estonian/i; 'Estone'
- when /Hungarian/i; 'Ungherese'
- when /Polish/i; 'Polacco'
- when /Romanian/i; 'Romeno'
- when /Russian/i; 'Russo'
- when /Greek/i; 'Greco'
- when /Ukranian/i; 'Ucraino'
- when /Turkish/i; 'Turco'
- when /Slovenian/i; 'Sloveno'
- when /Croatian/i; 'Croato'
- when /Slovak(?:ian)?/i; 'Slovacco'
- when /Czech/i; 'Ceco'
- when /Bulgarian/i; 'Bulgaro'
- else @trans_str
- end
- end
- end
- class Finnish
- def initialize(md,doc_lang,trans_str)
- @md,@doc_lang,@trans_str=md,doc_lang,trans_str
- end
- def filename
- 'tiedostonimi'
- end
- def description
- 'kuvaus'
- end
- def filetype_description
- description
- end
- def metadata
- 'metadata'
- end
- def file_size
- 'tiedoston koko'
- end
- def full_title #dc
- 'otsikko'
- end
- def title
- 'Otsikko'
- end
- def subtitle
- 'Alaotsikko'
- end
- def author #dc
- 'tekijä'
- end
- def contributor #dc
- 'osallistuja'
- end
- def translator
- 'Kääntäjä'
- end
- def illustrator
- 'Kuvittaja'
- end
- def publisher #dc
- 'julkaisija'
- end
- def prepared_by
- 'Valmistaja'
- end
- def digitized_by
- 'Digitalisoinut'
- end
- def subject #dc
- 'aihe'
- end
- def description #dc (watch)
- 'kuvaus'
- end
- def abstract #dc
- 'tiivistelmä'
- end
- def type #dc
- 'tyyppi'
- end
- def rights #dc
- 'oikeudet'
- end
- def date #dc
- 'päiväys'
- end
- def date_created #dc
- 'luontipäivä'
- end
- def date_issued #dc
- 'julkaisupäivä'
- end
- def date_available #dc
- 'saantipäivä'
- end
- def date_modified #dc
- 'muokkauspäivä'
- end
- def date_valid #dc
- 'kelpoisuuspäivä'
- end
- def language #dc
- 'kieli'
- end
- def language_original
- 'Alkuperäiskieli'
- end
- def format #dc
- 'muoto'
- end
- def identifier #dc
- 'tunnus'
- end
- def source #dc
- 'lähde'
- end
- def relation #dc
- 'suhde'
- end
- def coverage #dc
- 'kattavuus'
- end
- def keywords
- 'Avainsanat'
- end
- def comments
- 'Kommentit'
- end
- def cls_loc
- 'Classify Library of Congress'
- end
- def cls_dewey
- 'Classify Dewey'
- end
- def cls_oclc # fix
- 'Classify OCLC number'
- end
- def cls_gutenberg
- 'Classify Project Gutenberg'
- end
- def cls_isbn
- 'Classify ISBN'
- end
- def prefix_a
- 'Prefix (a)'
- end
- def prefix_b
- 'Prefix (b)'
- end
- def topic_register
- 'Topics Registered'
- end
- def sourcefile
- 'Lähdetiedosto'
- end
- def word_count
- 'Arvioitu sanamäärä'
- end
- def sourcefile_digest
- 'Lähdetiedoston tiiviste'
- end
- def digest_md5
- 'Lähdetiedoston tiiviste (md5)'
- end
- def digest_sha256
- 'Lähdetiedoston tiiviste (sha256)'
- end
- def sc_number
- 'Dokumentin RCS/CVS-numero'
- end
- def sc_date
- 'Dokumentin RCS/CVS-päiväys'
- end
- def last_generated
- 'Viimeksi tuotettu dokumentti (metaverse)'
- end
- def sisu_version
- 'Generoinut'
- end
- def ruby_version
- 'Ruby-versio'
- end
- def suggested_links
- 'metadatan ehdottamat linkit'
- end
- def language_version_list
- 'Dokumentin kieliversiot, manifestit'
- end
- def manifest_description
- 'SiSU manifest of document filetypes and metadata'
- end
- def manifest_description_output
- 'Tuotetun tuloksen SISU-manifesti'
- end
- def manifest_description_metadata
- 'Dokumenttimetadatan SISU-manifesti'
- end
- def language_list_translated
- lang=case @trans_str
- when /American/i; 'Amerikanenglanti' # tag depreciated, see iso 639-2
- when /English/i; 'Englanti'
- when /French/i; 'Ranska'
- when /German/i; 'Saksa'
- when /Italian/i; 'Italia'
- when /Spanish/i; 'Espanja'
- when /Brazilian(?: Portuguese)?/i; 'Brasilian portugali' # tag depreciated, see iso 639-2
- when /Portuguese/i; 'Portugali'
- when /Swedish/i; 'Ruotsi'
- when /Danish/i; 'Tanska'
- when /Finnish/i; 'Suomi'
- when /Norwegian/i; 'Norja'
- when /Icelandic/i; 'Islanti'
- when /Dutch/i; 'Hollanti'
- when /Estonian/i; 'Viro'
- when /Hungarian/i; 'Unkari'
- when /Polish/i; 'Puola'
- when /Romanian/i; 'Romania'
- when /Russian/i; 'Venäjä'
- when /Greek/i; 'Kreikka'
- when /Ukranian/i; 'Ukraina'
- when /Turkish/i; 'Turkki'
- when /Slovenian/i; 'Slovenia'
- when /Croatian/i; 'Kroatia'
- when /Slovak(?:ian)?/i; 'Slovakki'
- when /Czech/i; 'Tsekki'
- when /Bulgarian/i; 'Bulgaria'
- else @trans_str
- end
- end
- end
- class Porguguese < English
- end
- class Swedish < English
- end
- class Danish < English
- end
- class Norwegian < English
- end
- class Icelandic < English
- end
- class Dutch < English
- end
- class Estonian < English
- end
- class Hungarian < English
- end
- class Polish < English
- end
- class Romanian < English
- end
- class Russian < English
- end
- class Greek < English
- end
- class Ukranian < English
- end
- class Turkish < English
- end
- class Croatian < English
- end
- class Slovakian < English
- end
- class Czech < English
- end
- class Bulgarian < English
- end
-end
-__END__
-http://www.debian.org/international/l10n/po/
-http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
-http://www.loc.gov/standards/iso639-2/php/code_list.php
-albanian sq
-amharic am
-arabic ar
-armenian hy
-asturian
-bahasai
-bahasam
-basque eu
-bengali bn
-brazil[ian] pt_BR
-breton br
-bulgarian bg
-catalan ca
-coptic
-croatian hr
-czech cs
-danish da
-divehi
-dutch nl
-english en
-esperanto eo
-estonian et
-galician gl
-german de
-greek el
-hebrew he
-hindi hi
-icelandic is
-interlingua ia
-irish ga
-italian it
-farsi
-finnish fi
-french fr
-lao lo
-latin la
-latvian lv
-lithuanian lt
-lsorbian
-magyar
-malayalam ml
-marathi mr
-norsk no
-nynorsk nn
-occitan oc
-polish pl
-portuges pt
-romanian ro
-russian ru
-samin se (check sami?)
-sanskrit sa
-scottish # (gd (Gaelic (Scots)))
-serbian sr
-slovak sk
-slovenian sl
-spanish es
-swedish sv
-syriac # (ar_SY (Arabic, as spoken in Syrian Arab Republic))
-tamil ta
-telugu te
-thai th
-turkish tr
-turkmen tk
-ukrainian uk
-urdu ur
-usorbian
-vietnamese vi
-welsh cy
diff --git a/lib/sisu/v3/manifest.rb b/lib/sisu/v3/manifest.rb
index 38dc994c..4373ad26 100644
--- a/lib/sisu/v3/manifest.rb
+++ b/lib/sisu/v3/manifest.rb
@@ -59,7 +59,7 @@
module SiSU_Manifest
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
- require_relative 'i18n' # i18n.rb
+ require_relative 'prog_text_translation' # prog_text_translation.rb
require_relative 'particulars' # particulars.rb
include SiSU_Particulars
require_relative 'html_minitoc' # html_minitoc.rb
@@ -72,8 +72,8 @@ module SiSU_Manifest
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::Combined_singleton.instance.get_all(opt)
- l=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
- @doc_language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@opt.lng).language
+ @doc_language=l[:n]
end
def read
begin
@@ -108,8 +108,8 @@ module SiSU_Manifest
@base_path=@md.file.output_path.manifest
@@dg ||=SiSU_Env::Info_env.new.digest.type
@dg=@@dg
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- @language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ @language=l[:n]
@translate=SiSU_Translate::Source.new(@md,@language)
@brace_url=SiSU_Viz::Skin.new.url_decoration
end
@@ -149,7 +149,7 @@ module SiSU_Manifest
flv=@env.published_manifests?(@base_path)
@manifest[:html] << %{<tr><th class="left"><div id="horizontal_links"><ul id="horizontal">\n}
flv.each do |l|
- lang=SiSU_Translate::Source.new(@md,@language,l[:l]).language_list
+ lang=SiSU_Translate::Source.new(@md,@language,l[:n]).language_list
@manifest[:txt] << "#{l[:m]} #{lang}\n"
@manifest[:html] << %{<li class="norm"><a href="#{l[:m]}">#{lang}</a>&nbsp;&nbsp;&nbsp;</li>}
end
@@ -158,7 +158,7 @@ module SiSU_Manifest
def published_languages(id,file)
flv=@env.published_manifests?(@base_path)
flv.each do |l|
- lang=SiSU_Translate::Source.new(@md,@language,l[:l]).language_list
+ lang=SiSU_Translate::Source.new(@md,@language,l[:n]).language_list
@manifest[:txt] << "#{l[:m]} #{lang}\n"
@manifest[:html] << %{<tr><th class="left"><p class="bold"><a href="#{l[:m]}">#{lang}</a></p></th><td><p class="norm">#{lang}</p><p class="tiny">#{@brace_url.xml_open}<a href="#{@base_url}/#{l[:m]}">#{@base_url}/#{l[:m]}</a>#{@brace_url.xml_close}</p></td><td class="right"><p class="right">&nbsp;</p></td></tr>\n}
end
diff --git a/lib/sisu/v3/manpage.rb b/lib/sisu/v3/manpage.rb
index 362d9cda..17fef80b 100644
--- a/lib/sisu/v3/manpage.rb
+++ b/lib/sisu/v3/manpage.rb
@@ -293,6 +293,7 @@ WOK
dob.obj.gsub!(/┆/,'|')
dob.obj.gsub!(/\s\.(\S+)/,' \\.\1')
dob.obj.gsub!(/(\n\.)(\S\S\S+)/m,'\1\\.\2')
+ dob.obj.gsub!(/-/,'\-') #manpages use this
dob.obj.gsub!(/&#126;/,'~') if dob.obj #manpages use this
if dob.is =~/block|group|verse|alt|code/
if dob.is =='code'
diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb
index a1a448e6..110ebd85 100644
--- a/lib/sisu/v3/options.rb
+++ b/lib/sisu/v3/options.rb
@@ -61,10 +61,10 @@ module SiSU_commandline
require "pathname"
require_relative 'sysenv' # sysenv.rb
class Options
- attr_accessor :cmd,:mod,:act,:f_pths,:files,:paths,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:what
+ attr_accessor :cmd,:mod,:act,:f_pths,:files,:paths,:lngs,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:what
def initialize(a)
@a=a
- @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what='','','','','','','','',''
+ @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what,@lng='','','','','','','','','',''
@f_pths,@files,@paths,@mod,@act=Array.new(5){[]}
@env=SiSU_Env::Info_env.new
r=Px[:lng_lst].join('|')
@@ -109,6 +109,7 @@ module SiSU_commandline
@paths = q[:paths]
@files = q[:files]
@f_pths = q[:f_pths]
+ @lngs = q[:lngs]
if @files.length > 0 \
and @cmd.empty? \
and @mod.length==0 #% if no other action called on filename given, default is sisu -0 [filename(s)] configured as flag default
@@ -122,7 +123,7 @@ module SiSU_commandline
end
def set_files_and_paths_and_general_extract(s)
c,w='',''
- m,f,pth,z,lng=[],[],[],[],[]
+ m,f,pth,z,lng,lngs=[],[],[],[],[],[]
a=s.split(/\s+/)
a.each do |x|
if x =~/^-[a-z0-5]+/i \
@@ -138,12 +139,20 @@ module SiSU_commandline
pt=Pathname.new(x)
pth << pt.split[0].realpath.to_s #remove?
f << pt.split[1].to_s #remove?
- u=/.+?\/([^\/]+)(?:(?:\/(?:en|fr|es)$)|$)/
- t=/.+\/(en|fr|es)/
- lng << (pt.split[0].realpath.to_s[t,1]) \
+ r=Px[:lng_lst].join('|')
+ u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
+ t=/.+\/(#{r})$/
+ l_p = (pt.split[0].realpath.to_s[t,1]) \
? pt.split[0].realpath.to_s[t,1] \
: nil
#: ''
+ lng << l_p
+ lngs << if l_p
+ l_p
+ elsif x =~/~(#{r})\.ss[tm]/
+ $1
+ else 'en'
+ end
f_pths << {
pth: pt.split[0].realpath.to_s,
f: pt.split[1].to_s,
@@ -163,7 +172,7 @@ module SiSU_commandline
puts "#{x} in #{a.join(' ')}?"
end
end
- { cmd: c, mod: m, what: w, paths: pth, files: f, f_pths: f_pths, lng: lng }
+ { cmd: c, mod: m, what: w, paths: pth, files: f, f_pths: f_pths, lng: lng, lngs: lngs }
end
def expand_numeric_shortcuts(a)
shortcut=SiSU_Env::Info_processing_flag.new
diff --git a/lib/sisu/v3/param.rb b/lib/sisu/v3/param.rb
index c2968564..87a556ec 100644
--- a/lib/sisu/v3/param.rb
+++ b/lib/sisu/v3/param.rb
@@ -272,7 +272,7 @@ module SiSU_Param
l,n=Db[:col_language],'title.language'
validate_length(s,l,n)
end
- def language_char
+ def language_char # look into, this must be set, from 1 directory stub (.fi), 2 filename (~fi), [3 (not used) document header (@title:\n :language_char: fi)]
s=@h['language_char']
l,n=Db[:col_language_char],'title.language_char'
validate_length(s,l,n)
@@ -744,12 +744,14 @@ module SiSU_Param
end
if manpage['name']
manpage['name']=manpage['name'].join("\n.br\n")
+ manpage['name'].gsub!(/(-)/m,"\\\\\\1")
manpage['name'].gsub!(/\A/,"\n.br\n.SH NAME\n.br\n")
else
manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
end
if manpage['synopsis']
manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n")
+ manpage['synopsis'].gsub!(/(-)/m,"\\\\\\1")
manpage['synopsis'].gsub!(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n")
else
manpage['synopsis']=''
@@ -1230,7 +1232,7 @@ module SiSU_Param
end
end
@publisher ||= "#@@publisher (this copy)"
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(@fns)
+ fn_set_lang=SiSU_Env::Standardise_language.new(@opt.lng).language
unless @language[:code] \
and @language[:name]
lang=@env.i18n.language #default language settings for directory by name, or in sysrc.yml
@@ -1239,18 +1241,19 @@ module SiSU_Param
end
unless fn_set_lang[:d]==true #decide, naming convention overrides other settings, within document, etc.
@language[:code]=fn_set_lang[:c]
- @language[:name]=fn_set_lang[:l]
- end
- @fnl=@env.i18n.lang_filename(fn_set_lang[:c])
- @flv.each do |l|
- lang=SiSU_Env::Standardise_language.new.file_to_language(l)
- c={ a: '', b: '', c: '' }
- if @fnl[:pre] =~/\S/; c[:a]="#{lang[:c]}."
- elsif @fnl[:mid] =~/\S/; c[:b]=".#{lang[:c]}"
- elsif @fnl[:post] =~/\S/; c[:c]=".#{lang[:c]}"
- end
- @lang << [lang[:l],"#{c[:a]}sisu_manifest#{c[:b]}.html#{c[:c]}"]
- end if @flv
+ @language[:name]=fn_set_lang[:n]
+ end
+ @fnl=@env.i18n.lang_filename(fn_set_lang[:n])
+#fix
+# @flv.each do |l|
+# lang=SiSU_Env::Standardise_language.new.file_to_language(l)
+# c={ a: '', b: '', c: '' }
+# if @fnl[:pre] =~/\S/; c[:a]="#{lang[:c]}."
+# elsif @fnl[:mid] =~/\S/; c[:b]=".#{lang[:c]}"
+# elsif @fnl[:post] =~/\S/; c[:c]=".#{lang[:c]}"
+# end
+# @lang << [lang[:n],"#{c[:a]}sisu_manifest#{c[:b]}.html#{c[:c]}"]
+# end if @flv
@lang.uniq!
@fn=SiSU_Env::Env_call.new(@fns).lang(fn_set_lang[:c])
@identifier="#{@env.url.root}/#{@fnb}/#{@fn[:toc]}" #DC note constructed dc identifier
diff --git a/lib/sisu/v3/prog_text_translation.rb b/lib/sisu/v3/prog_text_translation.rb
new file mode 100644
index 00000000..e5a78e92
--- /dev/null
+++ b/lib/sisu/v3/prog_text_translation.rb
@@ -0,0 +1,1697 @@
+# encoding: utf-8
+=begin
+
+ * Name: SiSU
+
+ * Description: a framework for document structuring, publishing and search
+
+ * Author: Ralph Amissah
+
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
+
+ * License: GPL 3 or later:
+
+ SiSU, a framework for document structuring, publishing and search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see <http://www.gnu.org/licenses/>.
+
+ If you have Internet connection, the latest version of the GPL should be
+ available at these locations:
+ <http://www.fsf.org/licensing/licenses/gpl.html>
+ <http://www.gnu.org/licenses/gpl.html>
+
+ <http://www.jus.uio.no/sisu/gpl.fsf/toc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/doc.html>
+ <http://www.jus.uio.no/sisu/gpl.fsf/plain.txt>
+
+ * SiSU uses:
+ * Standard SiSU markup syntax,
+ * Standard SiSU meta-markup syntax, and the
+ * Standard SiSU object citation numbering and system
+
+ * Hompages:
+ <http://www.jus.uio.no/sisu>
+ <http://www.sisudoc.org>
+
+ * Download:
+ <http://www.jus.uio.no/sisu/SiSU/download.html>
+
+ * Ralph Amissah
+ <ralph@amissah.com>
+ <ralph.amissah@gmail.com>
+
+ ** Description: internationalisation
+
+=end
+module SiSU_Translate
+ require_relative 'sysenv' # sysenv.rb
+ include SiSU_Env; include SiSU_Param
+ class Source
+ def initialize(md,doc_lang,trans_str='')
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ @lang_class=case @doc_lang
+ when /American/i; English.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
+ when /English/i; English.new(md,doc_lang,trans_str)
+ when /French/i; French.new(md,doc_lang,trans_str)
+ when /German/i; German.new(md,doc_lang,trans_str)
+ when /Italian/i; Italian.new(md,doc_lang,trans_str)
+ when /Spanish/i; Spanish.new(md,doc_lang,trans_str)
+ when /Brazilian(?: Portuguese)?/i; Portuguese.new(md,doc_lang,trans_str) # tag depreciated, see iso 639-2
+ when /Portuguese/i; Portuguese.new(md,doc_lang,trans_str)
+ when /Swedish/i; Swedish.new(md,doc_lang,trans_str)
+ when /Danish/i; Danish.new(md,doc_lang,trans_str)
+ when /Finnish/i; Finnish.new(md,doc_lang,trans_str)
+ when /Norwegian/i; Norwegian.new(md,doc_lang,trans_str)
+ when /Icelandic/i; Icelandic.new(md,doc_lang,trans_str)
+ when /Dutch/i; Dutch.new(md,doc_lang,trans_str)
+ when /Estonian/i; Estonian.new(md,doc_lang,trans_str)
+ when /Hungarian/i; Hungarian.new(md,doc_lang,trans_str)
+ when /Polish/i; Polish.new(md,doc_lang,trans_str)
+ when /Romanian/i; Romanian.new(md,doc_lang,trans_str)
+ when /Russian/i; Russian.new(md,doc_lang,trans_str)
+ when /Greek/i; Greek.new(md,doc_lang,trans_str)
+ when /Ukranian/i; Ukranian.new(md,doc_lang,trans_str)
+ when /Turkish/i; Turkish.new(md,doc_lang,trans_str)
+ when /Slovenian/i; Slovenian.new(md,doc_lang,trans_str)
+ when /Croatian/i; Croatian.new(md,doc_lang,trans_str)
+ when /Slovak(?:ian)?/i; Slovak.new(md,doc_lang,trans_str)
+ when /Czech/i; Czech.new(md,doc_lang,trans_str)
+ when /Bulgarian/i; Bulgarian.new(md,doc_lang,trans_str)
+ else English.new(md,doc_lang,trans_str)
+ end
+ end
+
+ def filename
+ @lang_class.filename
+ end
+ def description
+ @lang_class.description
+ end
+ def metadata
+ @lang_class.metadata
+ end
+ def filetype_description
+ @lang_class.filetype_description
+ end
+ def file_size
+ @lang_class.file_size
+ end
+ def sourcefile
+ @lang_class.sourcefile
+ end
+ def sourcefile_digest
+ @lang_class.sourcefile_digest
+ end
+ def full_title #dc
+ @lang_class.full_title
+ end
+ def title
+ @lang_class.title
+ end
+ def subtitle
+ @lang_class.subtitle
+ end
+ def author
+ @lang_class.author
+ end
+ def contributor
+ @lang_class.contributor
+ end
+ def translator
+ @lang_class.translator
+ end
+ def illustrator
+ @lang_class.illustrator
+ end
+ def publisher
+ @lang_class.publisher
+ end
+ def prepared_by
+ @lang_class.prepared_by
+ end
+ def digitized_by
+ @lang_class.digitized_by
+ end
+ def subject
+ @lang_class.subject
+ end
+ def description #dc (watch)
+ @lang_class.description
+ end
+ def abstract
+ @lang_class.abstract
+ end
+ def type
+ @lang_class.type
+ end
+ def rights
+ @lang_class.rights
+ end
+ def digitized_by
+ @lang_class.digitized_by
+ end
+ def date
+ @lang_class.date
+ end
+ def date_created
+ @lang_class.date_created
+ end
+ def date_available
+ @lang_class.date_available
+ end
+ def date_valid
+ @lang_class.date_valid
+ end
+ def date_modified
+ @lang_class.date_modified
+ end
+ def date_issued
+ @lang_class.date_issued
+ end
+ def language
+ @lang_class.language
+ end
+ def language_original
+ @lang_class.language_original
+ end
+ def format
+ @lang_class.format
+ end
+ def identifier
+ @lang_class.identifier
+ end
+ def source
+ @lang_class.source
+ end
+ def relation
+ @lang_class.relation
+ end
+ def coverage
+ @lang_class.coverage
+ end
+ def keywords
+ @lang_class.keywords
+ end
+ def comments
+ @lang_class.comments
+ end
+ def cls_loc
+ @lang_class.cls_loc
+ end
+ def cls_dewey
+ @lang_class.cls_dewey
+ end
+ def cls_oclc
+ @lang_class.cls_oclc
+ end
+ def cls_gutenberg
+ @lang_class.cls_gutenberg
+ end
+ def cls_isbn
+ @lang_class.cls_isbn
+ end
+ def prefix_a
+ @lang_class.prefix_a
+ end
+ def prefix_b
+ @lang_class.prefix_b
+ end
+ def topic_register
+ @lang_class.topic_register
+ end
+ def fns
+ @lang_class.fns
+ end
+ def word_count
+ @lang_class.word_count
+ end
+ def dgst
+ @lang_class.dgst
+ end
+ def sc_number
+ @lang_class.sc_number
+ end
+ def sc_date
+ @lang_class.sc_date
+ end
+ def last_generated
+ @lang_class.last_generated
+ end
+ def sisu_version
+ @lang_class.sisu_version
+ end
+ def ruby_version
+ @lang_class.ruby_version
+ end
+ def suggested_links
+ @lang_class.suggested_links
+ end
+ def language_version_list
+ @lang_class.language_version_list
+ end
+ def language
+ @lang_class.language
+ end
+ def manifest_description
+ @lang_class.manifest_description
+ end
+ def manifest_description_output
+ @lang_class.manifest_description_output
+ end
+ def manifest_description_metadata
+ @lang_class.manifest_description_metadata
+ end
+ def language_list_translated
+ @lang_class.language_list
+ end
+ def language_list
+ lang=case @trans_str
+ when /American/i; 'American English' # tag depreciated, see iso 639-2
+ when /English/i; 'English'
+ when /French/i; 'français'
+ when /German/i; 'Deutsch'
+ when /Italian/i; 'Italiano'
+ when /Spanish/i; 'español'
+ when /Brazilian(?: Portuguese)?/i; 'Brazilian Português' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Português'
+ when /Swedish/i; 'svenska'
+ when /Danish/i; 'dansk'
+ when /Finnish/i; 'suomi'
+ when /Norwegian/i; 'norsk'
+ when /Icelandic/i; 'Icelandic'
+ when /Dutch/i; 'Nederlands'
+ when /Estonian/i; 'Estonian'
+ when /Hungarian/i; 'Hungarian'
+ when /Polish/i; 'polski'
+ when /Romanian/i; 'română'
+ when /Russian/i; 'Русский (Russkij)'
+ when /Greek/i; 'Ελληνικά (Ellinika)'
+ when /Ukranian/i; 'українська (ukrajins\'ka)'
+ when /Turkish/i; 'Türkçe'
+ when /Slovenian/i; 'Slovenian'
+ when /Croatian/i; 'Croatian'
+ when /Slovak(?:ian)?/i; 'slovensky' #slovensky ?
+ when /Czech/i; 'česky'
+ when /Bulgarian/i; 'Български (Bəlgarski)'
+ when /Japanese/i; '日本語 (Nihongo)'
+ when /Korean/i; '한국어 (Hangul)'
+ #when /Catalan/i; 'català'
+ else 'English'
+ end
+ #check on 中文 and عربي
+ end
+ end
+ class English
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'filename'
+ end
+ def description
+ 'description'
+ end
+ def filetype_description
+ 'filetype description'
+ end
+ def metadata
+ 'metadata'
+ end
+ def file_size
+ 'file size'
+ end
+ def full_title #dc
+ 'Title'
+ end
+ def title
+ 'Title'
+ end
+ def subtitle
+ 'Subtitle'
+ end
+ def author
+ 'Author'
+ end
+ def author #dc
+ 'Creator'
+ end
+ def contributor #dc
+ 'Contributor'
+ end
+ def translator
+ 'Translator'
+ end
+ def illustrator
+ 'Illustrator'
+ end
+ def publisher #dc
+ 'Publisher'
+ end
+ def prepared_by
+ 'Prepared by'
+ end
+ def digitized_by
+ 'Digitized by'
+ end
+ def subject #dc
+ 'Subject'
+ end
+ def description #dc (watch)
+ 'Description'
+ end
+ def abstract #dc
+ 'Abstract'
+ end
+ def type #dc
+ 'Type'
+ end
+ def rights #dc
+ 'Rights'
+ end
+ def date #dc
+ 'Date'
+ end
+ def date_created #dc
+ 'Date created'
+ end
+ def date_issued #dc
+ 'Date issued'
+ end
+ def date_available #dc
+ 'Date available'
+ end
+ def date_modified #dc
+ 'Date modified'
+ end
+ def date_valid #dc
+ 'Date valid'
+ end
+ def language #dc
+ 'Language'
+ end
+ def language_original
+ 'Original Language'
+ end
+ def format #dc
+ 'Format'
+ end
+ def identifier #dc
+ 'Identifier'
+ end
+ def source #dc
+ 'Source'
+ end
+ def relation #dc
+ 'Relation'
+ end
+ def coverage #dc
+ 'Coverage'
+ end
+ def keywords
+ 'Keywords'
+ end
+ def comments
+ 'Comments'
+ end
+ def cls_loc
+ 'Classify Library of Congress'
+ end
+ def cls_dewey
+ 'Classify Dewey'
+ end
+ def cls_oclc
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Classify Project Gutenberg'
+ end
+ def cls_isbn
+ 'Classify ISBN'
+ end
+ def prefix_a
+ 'Prefix (a)'
+ end
+ def prefix_b
+ 'Prefix (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Sourcefile'
+ end
+ def word_count
+ 'Word Count approximate'
+ end
+ def sourcefile_digest
+ 'Sourcefile Digest'
+ end
+ def digest_md5
+ 'Sourcefile Digest (md5)'
+ end
+ def digest_sha256
+ 'Sourcefile Digest (sha256)'
+ end
+ def sc_number
+ 'Document (RCS/CVS) number'
+ end
+ def sc_date
+ 'Document (RCS/CVS) number'
+ end
+ def last_generated
+ 'Document (dal) last generated'
+ end
+ def sisu_version
+ 'Generated by'
+ end
+ def ruby_version
+ 'Ruby version'
+ end
+ def suggested_links
+ 'metadata suggested links'
+ end
+ def language_version_list
+ 'Document Language Versions, manifests'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'Available document filetypes'
+ end
+ def manifest_description_metadata
+ 'Document Metadata'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'American English' # tag depreciated, see iso 639-2
+ when /English/i; 'English'
+ when /French/i; 'French'
+ when /German/i; 'German'
+ when /Italian/i; 'Italian'
+ when /Spanish/i; 'Spanish'
+ when /Brazilian(?: Portuguese)?/i; 'Brazilian Portuguese' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portuguese'
+ when /Swedish/i; 'Swedish'
+ when /Danish/i; 'Danish'
+ when /Finnish/i; 'Finnish'
+ when /Norwegian/i; 'Norwegian'
+ when /Icelandic/i; 'Icelandic'
+ when /Dutch/i; 'Dutch'
+ when /Estonian/i; 'Estonian'
+ when /Hungarian/i; 'Hungarian'
+ when /Polish/i; 'Polish'
+ when /Romanian/i; 'Romanian'
+ when /Russian/i; 'Russian'
+ when /Greek/i; 'Greek'
+ when /Ukranian/i; 'Ukranian'
+ when /Turkish/i; 'Turkish'
+ when /Slovenian/i; 'Slovenian'
+ when /Croatian/i; 'Croatian'
+ when /Slovak(?:ian)?/i; 'Slovakian'
+ when /Czech/i; 'Czech'
+ when /Bulgarian/i; 'Bulgarian'
+ else @trans_str
+ end
+ end
+ end
+ class French
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'nom de fichier'
+ end
+ def description
+ 'description'
+ end
+ def filetype_description
+ description
+ end
+ def metadata
+ 'metadonnées'
+ end
+ def file_size
+ 'taille'
+ end
+ def full_title #dc
+ 'Titre'
+ end
+ def title
+ 'Titre'
+ end
+ def subtitle
+ 'Sous titre'
+ end
+ def author
+ 'Auteur'
+ end
+ def author #dc
+ 'Auteur'
+ end
+ def contributor #dc
+ 'Contributeur'
+ end
+ def translator
+ 'Traducteur'
+ end
+ def illustrator
+ 'Illustrateur'
+ end
+ def publisher #dc
+ 'Éditeur'
+ end
+ def prepared_by
+ 'Préparé par'
+ end
+ def digitized_by
+ 'Numérisé par'
+ end
+ def subject #dc
+ 'Sujet'
+ end
+ def description #dc (watch)
+ 'Description'
+ end
+ def abstract #dc
+ 'Résumé'
+ end
+ def type #dc
+ 'Type'
+ end
+ def rights #dc
+ 'Droits relatifs à la ressource'
+ end
+ def date #dc
+ 'Date'
+ end
+ def date_created #dc
+ 'Date de création'
+ end
+ def date_issued #dc
+ 'Date de publication'
+ end
+ def date_available #dc
+ 'Date de mise à disposition'
+ end
+ def date_modified #dc
+ 'Date de modification'
+ end
+ def date_valid #dc
+ 'Date de validité'
+ end
+ def language #dc
+ 'Langue'
+ end
+ def language_original
+ 'Langue originale'
+ end
+ def format #dc
+ 'Format'
+ end
+ def identifier #dc
+ 'Identifiant'
+ end
+ def source #dc
+ 'Source'
+ end
+ def relation #dc
+ 'Lien'
+ end
+ def coverage #dc
+ 'Portée du document'
+ end
+ def keywords
+ 'Mots clef'
+ end
+ def comments
+ 'Commentaires'
+ end
+ def cls_loc
+ 'Classification de la bibliothèque du congres'
+ end
+ def cls_dewey
+ 'Classification Dewey'
+ end
+ def cls_oclc # fix
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Classification du project Gutenberg'
+ end
+ def cls_isbn
+ 'Classification ISBN'
+ end
+ def prefix_a
+ 'Préfixe (a)'
+ end
+ def prefix_b
+ 'Préfixe (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Fichier source'
+ end
+ def word_count
+ 'Nombre approximatif de mots'
+ end
+ def sourcefile_digest
+ 'Condensé du fichier source'
+ end
+ def digest_md5
+ 'Condensé du fichier source (md5)'
+ end
+ def digest_sha256
+ 'Condensé du fichier source (sha256)'
+ end
+ def sc_number
+ 'Numéro (RCS/CVS) du document'
+ end
+ def sc_date
+ 'Numéro (RCS/CVS) du document'
+ end
+ def last_generated
+ 'Dernière production du document (metaverse)'
+ end
+ def sisu_version
+ 'Généré par'
+ end
+ def ruby_version
+ 'Version de Ruby'
+ end
+ def suggested_links
+ 'Liens suggérés'
+ end
+ def language_version_list
+ 'Versions des langues du document, manifestes'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'Manifeste SiSU du document généré'
+ end
+ def manifest_description_metadata
+ 'Manifeste SiSU des métadonnées du document'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'Anglais americain' # tag depreciated, see iso 639-2
+ when /English/i; 'Anglais'
+ when /French/i; 'Français'
+ when /German/i; 'Allemand'
+ when /Italian/i; 'Italien'
+ when /Spanish/i; 'Espagnol'
+ when /Brazilian(?: Portuguese)?/i; 'Portugais brésilien' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portugais'
+ when /Swedish/i; 'Suédois'
+ when /Danish/i; 'Danois'
+ when /Finnish/i; 'Finnois'
+ when /Norwegian/i; 'Norvégien'
+ when /Icelandic/i; 'Islandais'
+ when /Dutch/i; 'Néerlandais'
+ when /Estonian/i; 'Estonien'
+ when /Hungarian/i; 'Hongrois'
+ when /Polish/i; 'Polonais'
+ when /Romanian/i; 'Roumain'
+ when /Russian/i; 'Russe'
+ when /Greek/i; 'Grec'
+ when /Ukranian/i; 'Ukrainien'
+ when /Turkish/i; 'Turc'
+ when /Slovenian/i; 'Slovène'
+ when /Croatian/i; 'Croate'
+ when /Slovak(?:ian)?/i; 'Slovaque'
+ when /Czech/i; 'Tcheque'
+ when /Bulgarian/i; 'Bulgare'
+ else @trans_str
+ end
+ end
+ end
+ class German
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'Dateiname'
+ end
+ def description
+ 'Beschreibung'
+ end
+ def filetype_description
+ description
+ end
+ def metadata
+ 'Metadata'
+ end
+ def file_size
+ 'Dateigrösse'
+ end
+ def full_title #dc
+ 'Titel'
+ end
+ def title
+ 'Titel'
+ end
+ def subtitle
+ 'Untertitel'
+ end
+ def author
+ 'Autor'
+ end
+ def contributor #dc
+ 'Mitautor'
+ end
+ def translator
+ 'Übersetzung'
+ end
+ def illustrator
+ 'Illustrator'
+ end
+ def publisher
+ 'Herausgeber'
+ end
+ def prepared_by
+ 'gesetzt von'
+ end
+ def digitized_by
+ 'digitalisiert von'
+ end
+ def subject
+ 'Titel'
+ end
+ def description #dc (watch)
+ 'Beschreibung'
+ end
+ def abstract #dc
+ 'Abstract'
+ end
+ def type
+ 'Typ'
+ end
+ def rights
+ 'Rechte'
+ end
+ def date
+ 'Datum'
+ end
+ def date_created
+ 'Erstellung'
+ end
+ def date_issued
+ 'Herausgabe'
+ end
+ def date_available
+ 'Veröffentlichung'
+ end
+ def date_modified
+ 'Modifikation'
+ end
+ def date_valid
+ 'Gültigkeit'
+ end
+ def language
+ 'Sprache'
+ end
+ def language_original
+ 'Ursprungssprache'
+ end
+ def format #dc
+ 'Format'
+ end
+ def identifier #dc
+ 'Bezeichnung'
+ end
+ def source #dc
+ 'Quelle'
+ end
+ def relation #dc
+ 'Beziehung'
+ end
+ def coverage #dc
+ 'Eingrenzung'
+ end
+ def keywords
+ 'Schlüsselwörter'
+ end
+ def comments
+ 'Kommentare'
+ end
+ def cls_loc
+ 'Klassifikation nach Library of Congress'
+ end
+ def cls_dewey
+ 'Klassifikation nach Dewey'
+ end
+ def cls_oclc # fix
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Klassifikation nach Projekt Gutenberg'
+ end
+ def cls_isbn
+ 'Klassifikation nach ISBN'
+ end
+ def prefix_a
+ 'Präfix (a)'
+ end
+ def prefix_b
+ 'Präfix (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Quelldatei'
+ end
+ def word_count
+ 'Anzahl Wörter'
+ end
+ def sourcefile_digest
+ 'Quelldatei Digest'
+ end
+ def digest_md5
+ 'Prüfsumme der Quelldatei (MD5)'
+ end
+ def digest_sha256
+ 'Prüfsumme der Quelldatei (SHA256)'
+ end
+ def sc_number
+ 'Dokumentversion (RCS/CVS)'
+ end
+ def sc_date
+ 'Dokumentdatum (RCS/CVS)'
+ end
+ def last_generated
+ 'Letzte Erstellung (metaverse)'
+ end
+ def sisu_version
+ 'erstellt bei'
+ end
+ def ruby_version
+ 'Ruby Version'
+ end
+ def suggested_links
+ 'empfohlene Links'
+ end
+ def language_version_list
+ 'verfügbare Sprachen'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'SiSU Zusammenfassung des Dokumentes'
+ end
+ def manifest_description_metadata
+ 'SiSU Zusammenfassung der Metadaten'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'Amerikanisch-Englisch' # tag depreciated, see iso 639-2
+ when /English/i; 'Englisch'
+ when /French/i; 'Französisch'
+ when /German/i; 'Deutsch'
+ when /Italian/i; 'Italienisch'
+ when /Spanish/i; 'Spanisch'
+ when /Brazilian(?: Portuguese)?/i; 'Brasilianisch-Portugiesisch' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portugiesisch'
+ when /Swedish/i; 'Schwedisch'
+ when /Danish/i; 'Dänisch'
+ when /Finnish/i; 'Finnisch'
+ when /Norwegian/i; 'Norwegisch'
+ when /Icelandic/i; 'Isländisch'
+ when /Dutch/i; 'Niederländisch'
+ when /Estonian/i; 'Estnisch'
+ when /Hungarian/i; 'Ungarisch'
+ when /Polish/i; 'Polnisch'
+ when /Romanian/i; 'Rumänisch'
+ when /Russian/i; 'Russisch'
+ when /Greek/i; 'Griechisch'
+ when /Ukranian/i; 'Ukrainisch'
+ when /Turkish/i; 'Türkisch'
+ when /Slovenian/i; 'Slovenisch'
+ when /Croatian/i; 'Kroatisch'
+ when /Slovak(?:ian)?/i; 'Slovakisch'
+ when /Czech/i; 'Tschechisch'
+ when /Bulgarian/i; 'Bulgarisch'
+ else @trans_str
+ end
+ end
+ end
+ class Spanish
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'nombre del fichero'
+ end
+ def description
+ 'descripción'
+ end
+ def filetype_description
+ description
+ end
+ def metadata
+ 'metadatos'
+ end
+ def file_size
+ 'tamaño del fichero'
+ end
+ def full_title #dc
+ 'Título'
+ end
+ def title
+ 'Título'
+ end
+ def subtitle
+ 'Subtítulo'
+ end
+ def author #dc
+ 'Creador'
+ end
+ def contributor #dc
+ 'Contribuidor'
+ end
+ def translator
+ 'Traductor'
+ end
+ def illustrator
+ 'Ilustrador'
+ end
+ def publisher #dc
+ 'Editor'
+ end
+ def prepared_by
+ 'Preparado por'
+ end
+ def digitized_by
+ 'Digitalizado por'
+ end
+ def subject #dc
+ 'Asunto'
+ end
+ def description #dc (watch)
+ 'Descripción'
+ end
+ def abstract #dc
+ 'Resumen'
+ end
+ def type #dc
+ 'Tipo'
+ end
+ def rights #dc
+ 'Derechos'
+ end
+ def date #dc
+ 'Fecha'
+ end
+ def date_created #dc
+ 'Fecha de creación'
+ end
+ def date_issued #dc
+ 'Fecha de publicación'
+ end
+ def date_available #dc
+ 'Fecha de disponibilidad'
+ end
+ def date_modified #dc
+ 'Fecha de modificación'
+ end
+ def date_valid #dc
+ 'Fecha de valided'
+ end
+ def language #dc
+ 'Idioma'
+ end
+ def language_original
+ 'Lenguaje original'
+ end
+ def format #dc
+ 'Formato'
+ end
+ def identifier #dc
+ 'Identificador'
+ end
+ def source #dc
+ 'Fuente'
+ end
+ def relation #dc
+ 'Relación'
+ end
+ def coverage #dc
+ 'Cobertura'
+ end
+ def keywords
+ 'Palabras claves'
+ end
+ def comments
+ 'Comentarios'
+ end
+ def cls_loc
+ 'Clasificación Biblioteca del Congreso'
+ end
+ def cls_dewey
+ 'Clasificación Dewey'
+ end
+ def cls_oclc # fix
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Clasificación Proyecto Gutenberg'
+ end
+ def cls_isbn
+ 'Clasificación ISBN'
+ end
+ def prefix_a
+ 'Prefijo (a)'
+ end
+ def prefix_b
+ 'Prefijo (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Fichero fuente'
+ end
+ def word_count
+ 'Número de palabras apróximado'
+ end
+ def sourcefile_digest
+ 'Resumen del fichero fuente'
+ end
+ def digest_md5
+ 'Resumen del fichero fuente (md5)'
+ end
+ def digest_sha256
+ 'Resumen del fichero fuente (sha256)'
+ end
+ def sc_number
+ 'Versión (RCS/CVS) del documento'
+ end
+ def sc_date
+ 'Versión (RCS/CVS) del documento'
+ end
+ def last_generated
+ 'Última generación (metaverse) del documento'
+ end
+ def sisu_version
+ 'Generado por'
+ end
+ def ruby_version
+ 'Versión de Ruby'
+ end
+ def suggested_links
+ 'enlaces sugeridos de metadatos'
+ end
+ def language_version_list
+ 'Document Language Versions, manifests'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'Manifiesto SiSU de salida generada'
+ end
+ def manifest_description_metadata
+ 'Manifiesto SiSU de metadatos de documento'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'Inglés Americano' # tag depreciated, see iso 639-2
+ when /English/i; 'Inglés'
+ when /French/i; 'Francés'
+ when /German/i; 'Alemán'
+ when /Italian/i; 'Italiano'
+ when /Spanish/i; 'Español'
+ when /Brazilian(?: Portuguese)?/i; 'Portugués de Brasil' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portugués'
+ when /Swedish/i; 'Sueco'
+ when /Danish/i; 'Danés'
+ when /Finnish/i; 'Finés'
+ when /Norwegian/i; 'Noruego'
+ when /Icelandic/i; 'Islandés'
+ when /Dutch/i; 'Holandés'
+ when /Estonian/i; 'Estonio'
+ when /Hungarian/i; 'Húngaro'
+ when /Polish/i; 'Polaco'
+ when /Romanian/i; 'Rumano'
+ when /Russian/i; 'Ruso'
+ when /Greek/i; 'Griego'
+ when /Ukranian/i; 'Ucraniano'
+ when /Turkish/i; 'Turco'
+ when /Slovenian/i; 'Eslovaco'
+ when /Croatian/i; 'Croata'
+ when /Slovak(?:ian)?/i; 'Eslovaco'
+ when /Czech/i; 'Checo'
+ when /Bulgarian/i; 'Búlgaro'
+ else @trans_str
+ end
+ end
+ end
+ class Italian
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'nome del file'
+ end
+ def description
+ 'descrizione'
+ end
+ def filetype_description
+ description
+ end
+ def metadata
+ 'metadati'
+ end
+ def file_size
+ 'dimensione'
+ end
+ def full_title #dc
+ 'Titolo'
+ end
+ def title
+ 'Titolo'
+ end
+ def subtitle
+ 'Sottotitolo'
+ end
+ def author #dc
+ 'Autore'
+ end
+ def contributor #dc
+ 'Contributore'
+ end
+ def translator
+ 'Traduttore'
+ end
+ def illustrator
+ 'Illustratore'
+ end
+ def publisher #dc
+ 'Casa editrice'
+ end
+ def prepared_by
+ 'Preparato da'
+ end
+ def digitized_by
+ 'Convertito in digitale da'
+ end
+ def subject #dc
+ 'Oggetto'
+ end
+ def description #dc (watch)
+ 'Descrizione'
+ end
+ def abstract #dc
+ 'Abstract'
+ end
+ def type #dc
+ 'Tipo'
+ end
+ def rights #dc
+ 'Diritti del lettore'
+ end
+ def date #dc
+ 'Data'
+ end
+ def date_created #dc
+ 'Data di creazione'
+ end
+ def date_issued #dc
+ 'Data di pubblicazione'
+ end
+ def date_available #dc
+ 'Data di effettiva disponibilità'
+ end
+ def date_modified #dc
+ 'Data di ultima modifica'
+ end
+ def date_valid #dc
+ 'Data di inizo validità'
+ end
+ def language #dc
+ 'Lingua'
+ end
+ def language_original
+ 'Lingua originale'
+ end
+ def format #dc
+ 'Formato'
+ end
+ def identifier #dc
+ 'Indentificatore'
+ end
+ def source #dc
+ 'Fonte'
+ end
+ def relation #dc
+ 'Collegamento'
+ end
+ def coverage #dc
+ 'Ambito'
+ end
+ def keywords
+ 'Parole chiave'
+ end
+ def comments
+ 'Commenti'
+ end
+ def cls_loc
+ 'Classificazione della Library of Congress'
+ end
+ def cls_dewey
+ 'Classificazione Dewey'
+ end
+ def cls_oclc # fix
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Classificazione del Progetto Gutenberg'
+ end
+ def cls_isbn
+ 'Numero ISBN'
+ end
+ def prefix_a
+ 'Premessa (a)'
+ end
+ def prefix_b
+ 'Premessa (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Sorgente'
+ end
+ def word_count
+ 'Numero approssimativo di parole'
+ end
+ def sourcefile_digest
+ 'Checksum file sorgente'
+ end
+ def digest_md5
+ 'Checksum file sorgente (md5)'
+ end
+ def digest_sha256
+ 'Checksum file sorgente (sha256)'
+ end
+ def sc_number
+ 'Numero di revisione (RCS/CVS)'
+ end
+ def sc_date
+ 'Numero di revisione (RCS/CVS)'
+ end
+ def last_generated
+ 'Data di ultima generazione (dal metaverse)'
+ end
+ def sisu_version
+ 'Generato da'
+ end
+ def ruby_version
+ 'Ruby versione'
+ end
+ def suggested_links
+ 'Link suggeriti'
+ end
+ def language_version_list
+ 'Traduzioni disponibili'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'Inventario SiSU dell\'output generato'
+ end
+ def manifest_description_metadata
+ 'Inventario SiSU dei metadati'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'Inglese USA' # tag depreciated, see iso 639-2
+ when /English/i; 'Inglese'
+ when /French/i; 'Francese'
+ when /German/i; 'Tedesco'
+ when /Italian/i; 'Italiano'
+ when /Spanish/i; 'Spagnolo'
+ when /Brazilian(?: Portuguese)?/i; 'Portoguese (Brasile)' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portoguese'
+ when /Swedish/i; 'Svedese'
+ when /Danish/i; 'Danese'
+ when /Finnish/i; 'Finlandese'
+ when /Norwegian/i; 'Norvegese'
+ when /Icelandic/i; 'Islandese'
+ when /Dutch/i; 'Olandese'
+ when /Estonian/i; 'Estone'
+ when /Hungarian/i; 'Ungherese'
+ when /Polish/i; 'Polacco'
+ when /Romanian/i; 'Romeno'
+ when /Russian/i; 'Russo'
+ when /Greek/i; 'Greco'
+ when /Ukranian/i; 'Ucraino'
+ when /Turkish/i; 'Turco'
+ when /Slovenian/i; 'Sloveno'
+ when /Croatian/i; 'Croato'
+ when /Slovak(?:ian)?/i; 'Slovacco'
+ when /Czech/i; 'Ceco'
+ when /Bulgarian/i; 'Bulgaro'
+ else @trans_str
+ end
+ end
+ end
+ class Finnish
+ def initialize(md,doc_lang,trans_str)
+ @md,@doc_lang,@trans_str=md,doc_lang,trans_str
+ end
+ def filename
+ 'tiedostonimi'
+ end
+ def description
+ 'kuvaus'
+ end
+ def filetype_description
+ description
+ end
+ def metadata
+ 'metadata'
+ end
+ def file_size
+ 'tiedoston koko'
+ end
+ def full_title #dc
+ 'otsikko'
+ end
+ def title
+ 'Otsikko'
+ end
+ def subtitle
+ 'Alaotsikko'
+ end
+ def author #dc
+ 'tekijä'
+ end
+ def contributor #dc
+ 'osallistuja'
+ end
+ def translator
+ 'Kääntäjä'
+ end
+ def illustrator
+ 'Kuvittaja'
+ end
+ def publisher #dc
+ 'julkaisija'
+ end
+ def prepared_by
+ 'Valmistaja'
+ end
+ def digitized_by
+ 'Digitalisoinut'
+ end
+ def subject #dc
+ 'aihe'
+ end
+ def description #dc (watch)
+ 'kuvaus'
+ end
+ def abstract #dc
+ 'tiivistelmä'
+ end
+ def type #dc
+ 'tyyppi'
+ end
+ def rights #dc
+ 'oikeudet'
+ end
+ def date #dc
+ 'päiväys'
+ end
+ def date_created #dc
+ 'luontipäivä'
+ end
+ def date_issued #dc
+ 'julkaisupäivä'
+ end
+ def date_available #dc
+ 'saantipäivä'
+ end
+ def date_modified #dc
+ 'muokkauspäivä'
+ end
+ def date_valid #dc
+ 'kelpoisuuspäivä'
+ end
+ def language #dc
+ 'kieli'
+ end
+ def language_original
+ 'Alkuperäiskieli'
+ end
+ def format #dc
+ 'muoto'
+ end
+ def identifier #dc
+ 'tunnus'
+ end
+ def source #dc
+ 'lähde'
+ end
+ def relation #dc
+ 'suhde'
+ end
+ def coverage #dc
+ 'kattavuus'
+ end
+ def keywords
+ 'Avainsanat'
+ end
+ def comments
+ 'Kommentit'
+ end
+ def cls_loc
+ 'Classify Library of Congress'
+ end
+ def cls_dewey
+ 'Classify Dewey'
+ end
+ def cls_oclc # fix
+ 'Classify OCLC number'
+ end
+ def cls_gutenberg
+ 'Classify Project Gutenberg'
+ end
+ def cls_isbn
+ 'Classify ISBN'
+ end
+ def prefix_a
+ 'Prefix (a)'
+ end
+ def prefix_b
+ 'Prefix (b)'
+ end
+ def topic_register
+ 'Topics Registered'
+ end
+ def sourcefile
+ 'Lähdetiedosto'
+ end
+ def word_count
+ 'Arvioitu sanamäärä'
+ end
+ def sourcefile_digest
+ 'Lähdetiedoston tiiviste'
+ end
+ def digest_md5
+ 'Lähdetiedoston tiiviste (md5)'
+ end
+ def digest_sha256
+ 'Lähdetiedoston tiiviste (sha256)'
+ end
+ def sc_number
+ 'Dokumentin RCS/CVS-numero'
+ end
+ def sc_date
+ 'Dokumentin RCS/CVS-päiväys'
+ end
+ def last_generated
+ 'Viimeksi tuotettu dokumentti (metaverse)'
+ end
+ def sisu_version
+ 'Generoinut'
+ end
+ def ruby_version
+ 'Ruby-versio'
+ end
+ def suggested_links
+ 'metadatan ehdottamat linkit'
+ end
+ def language_version_list
+ 'Dokumentin kieliversiot, manifestit'
+ end
+ def manifest_description
+ 'SiSU manifest of document filetypes and metadata'
+ end
+ def manifest_description_output
+ 'Tuotetun tuloksen SISU-manifesti'
+ end
+ def manifest_description_metadata
+ 'Dokumenttimetadatan SISU-manifesti'
+ end
+ def language_list_translated
+ lang=case @trans_str
+ when /American/i; 'Amerikanenglanti' # tag depreciated, see iso 639-2
+ when /English/i; 'Englanti'
+ when /French/i; 'Ranska'
+ when /German/i; 'Saksa'
+ when /Italian/i; 'Italia'
+ when /Spanish/i; 'Espanja'
+ when /Brazilian(?: Portuguese)?/i; 'Brasilian portugali' # tag depreciated, see iso 639-2
+ when /Portuguese/i; 'Portugali'
+ when /Swedish/i; 'Ruotsi'
+ when /Danish/i; 'Tanska'
+ when /Finnish/i; 'Suomi'
+ when /Norwegian/i; 'Norja'
+ when /Icelandic/i; 'Islanti'
+ when /Dutch/i; 'Hollanti'
+ when /Estonian/i; 'Viro'
+ when /Hungarian/i; 'Unkari'
+ when /Polish/i; 'Puola'
+ when /Romanian/i; 'Romania'
+ when /Russian/i; 'Venäjä'
+ when /Greek/i; 'Kreikka'
+ when /Ukranian/i; 'Ukraina'
+ when /Turkish/i; 'Turkki'
+ when /Slovenian/i; 'Slovenia'
+ when /Croatian/i; 'Kroatia'
+ when /Slovak(?:ian)?/i; 'Slovakki'
+ when /Czech/i; 'Tsekki'
+ when /Bulgarian/i; 'Bulgaria'
+ else @trans_str
+ end
+ end
+ end
+ class Porguguese < English
+ end
+ class Swedish < English
+ end
+ class Danish < English
+ end
+ class Norwegian < English
+ end
+ class Icelandic < English
+ end
+ class Dutch < English
+ end
+ class Estonian < English
+ end
+ class Hungarian < English
+ end
+ class Polish < English
+ end
+ class Romanian < English
+ end
+ class Russian < English
+ end
+ class Greek < English
+ end
+ class Ukranian < English
+ end
+ class Turkish < English
+ end
+ class Croatian < English
+ end
+ class Slovakian < English
+ end
+ class Czech < English
+ end
+ class Bulgarian < English
+ end
+end
+__END__
+http://www.debian.org/international/l10n/po/
+http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
+http://www.loc.gov/standards/iso639-2/php/code_list.php
+albanian sq
+amharic am
+arabic ar
+armenian hy
+asturian
+bahasai
+bahasam
+basque eu
+bengali bn
+brazil[ian] pt_BR
+breton br
+bulgarian bg
+catalan ca
+coptic
+croatian hr
+czech cs
+danish da
+divehi
+dutch nl
+english en
+esperanto eo
+estonian et
+galician gl
+german de
+greek el
+hebrew he
+hindi hi
+icelandic is
+interlingua ia
+irish ga
+italian it
+farsi
+finnish fi
+french fr
+lao lo
+latin la
+latvian lv
+lithuanian lt
+lsorbian
+magyar
+malayalam ml
+marathi mr
+norsk no
+nynorsk nn
+occitan oc
+polish pl
+portuges pt
+romanian ro
+russian ru
+samin se (check sami?)
+sanskrit sa
+scottish # (gd (Gaelic (Scots)))
+serbian sr
+slovak sk
+slovenian sl
+spanish es
+swedish sv
+syriac # (ar_SY (Arabic, as spoken in Syrian Arab Republic))
+tamil ta
+telugu te
+thai th
+turkish tr
+turkmen tk
+ukrainian uk
+urdu ur
+usorbian
+vietnamese vi
+welsh cy
diff --git a/lib/sisu/v3/shared_metadata.rb b/lib/sisu/v3/shared_metadata.rb
index 167af5c4..c40bf68d 100644
--- a/lib/sisu/v3/shared_metadata.rb
+++ b/lib/sisu/v3/shared_metadata.rb
@@ -67,8 +67,8 @@ module Metadata
meta,tag=[],[]
dir=SiSU_Env::Info_env.new(@md.fns)
base_html="#{dir.url.root}/#{@md.fnb}"
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ language=l[:n]
tr=SiSU_Translate::Source.new(@md,language)
@attrib='md'
if @display_heading
@@ -997,8 +997,8 @@ WOK
meta=[]
dir=SiSU_Env::Info_env.new(@md.fns)
base_html="#{dir.url.root}/#{@md.fnb}"
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ language=l[:n]
tr=SiSU_Translate::Source.new(@md,language)
tag="Document Manifest @"
inf="#{@br}#{base_html}/#{@md.fn[:manifest]}"
diff --git a/lib/sisu/v3/sitemaps.rb b/lib/sisu/v3/sitemaps.rb
index 2241b5e6..c306ee99 100644
--- a/lib/sisu/v3/sitemaps.rb
+++ b/lib/sisu/v3/sitemaps.rb
@@ -75,7 +75,7 @@ module SiSU_Sitemaps
def songsheet
begin
@sys=SiSU_Env::System_call.new
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
+ fn_set_lang=SiSU_Env::Standardise_language.new(@opt.lng).language
@fn=SiSU_Env::Env_call.new(@opt.fns).lang(fn_set_lang[:c])
if @opt.cmd =~/Y/
@md=SiSU_Param::Parameters.new(@opt).get
diff --git a/lib/sisu/v3/sst_do_inline_footnotes.rb b/lib/sisu/v3/sst_do_inline_footnotes.rb
index 27ccf6db..60247060 100644
--- a/lib/sisu/v3/sst_do_inline_footnotes.rb
+++ b/lib/sisu/v3/sst_do_inline_footnotes.rb
@@ -170,8 +170,8 @@ module SiSU_Convert_footnotes
@@word_mode=[]
@env=SiSU_Env::Info_env.new(@md.fns)
@skin=SiSU_Env::Info_skin.new(@md)
- l=SiSU_Env::Standardise_language.new.file_to_language(@md.fns)
- @language=l[:l]
+ l=SiSU_Env::Standardise_language.new(@md.opt.lng).language
+ @language=l[:n]
@translate=SiSU_Translate::Source.new(@md,@language)
end
def reset
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index 6f69296a..a1c6228b 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -58,6 +58,7 @@
=end
@@cX=nil
@@current_document=Dir.pwd #nil #''
+@@lang_info=nil
module SiSU_Env
require_relative 'constants' # constants.rb
require 'fileutils'
@@ -444,7 +445,7 @@ module SiSU_Env
end
self
end
- def document_language_versions_found
+ def document_language_versions_found #REVISIT
@fn={}
unless (@fns.nil? \
or @fns.empty?)
@@ -499,12 +500,12 @@ module SiSU_Env
fns_c="#{@fn[:m]}~#{lng.code}.#{@fn[:t]}"
fns_l="#{@fn[:m]}~#{lng.name}.#{@fn[:t]}"
if FileTest.file?(fns_c)
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(fns_c)
- lng=fn_set_lang[:l]
+ fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(fns_c) #reconsider file_to_language
+ lng=fn_set_lang[:n]
fn=SiSU_Env::Env_call.new(fns_c).lang(fn_set_lang[:c])
@m << { m: fn[:manifest], l: lng }
elsif FileTest.file?(fns_l)
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(fns_l)
+ fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(fns_l) #reconsider file_to_language
@fnl=dir.i18n.lang_filename(fn_set_lang[:c])
fn=SiSU_Env::Env_call.new(fns_l).lang(fn_set_lang[:c])
@m << { m: fn[:manifest], l: lng }
@@ -790,68 +791,111 @@ module SiSU_Env
end
end
class Standardise_language
+ require_relative 'i18n' # i18n.rb
def initialize(l='')
@language=l
if @language.empty?
@language=Info_env.new.defaults[:language]
end
+ @r=%{(?:#{Px[:lng_lst].join('|')})}
+ @lang_info=SiSU_i18n::Languages.new
end
- def language #use ISO_639-2
- lang={}
+ def lang_lst # from i18n
+ @@lang_info ||=@lang_info.language.list
+ end
+ def lang(l='') # from i18n
+ x=if l =~/^#{@r}$/
+ @lang_info.language.list[l]
+ elsif @language =~/^#{@r}$/
+ @lang_info.language.list[@language]
+ else nil
+ end
+ end
+ def language
+ lng={}
case @language
- when /American|^us$/i; d,c,l=false,'en','American English' #depreciated, see iso 639-2
- when /English|^en$/i; d,c,l=false,'en','English'
- when /French|Francais|^fr$/i; d,c,l=false,'fr','French'
- when /German|^de$/i; d,c,l=false,'de','German'
- when /Italian|^it$/i; d,c,l=false,'it','Italian'
- when /Spanish|Espanol|^es$/i; d,c,l=false,'es','Spanish'
- when /Brazilian(?: Portuguese)?|^br$/i; d,c,l=false,'pt','Brazilian Portuguese' #depreciated, see iso 639-2
- when /Portuguese|^pt$/i; d,c,l=false,'pt','Portuguese'
- when /Swedish|Svensk|^sv$/i; d,c,l=false,'sv','Swedish'
- when /Danish|Dansk|^da$/i; d,c,l=false,'da','Danish'
- when /Finnish|Finsk|Suomi|^fi$/i; d,c,l=false,'fi','Finnish'
- when /Norwegian|Norsk|^no$/i; d,c,l=false,'no','Norwegian'
- when /Icelandic|^is$/i; d,c,l=false,'is','Icelandic'
- when /Dutch|^nl$/i; d,c,l=false,'nl','Dutch'
- when /Estonian|^et$/i; d,c,l=false,'et','Estonian'
- when /Hungarian|^hu$/i; d,c,l=false,'hu','Hungarian'
- when /Polish|^pl$/i; d,c,l=false,'pl','Polish'
- when /Romanian|^ro$/i; d,c,l=false,'ro','Romanian'
- when /Russian|^ru$/i; d,c,l=false,'ru','Russian'
- when /Greek|^el$/i; d,c,l=false,'el','Greek'
- when /Ukranian|^uk$/i; d,c,l=false,'uk','Ukranian'
- when /Turkish|^tr$/i; d,c,l=false,'tr','Turkish'
- #when /Serbian/i; d,c,l=false,'', 'Serbian'
- #when /Welsh/i; d,c,l=false,'', 'Welsh'
- #when /Basque/i; d,c,l=false,'', 'Basque'
- #when /Breton/i; d,c,l=false,'', 'Breton'
- #when /Catalan/i; d,c,l=false,'', 'Catalan'
- #when /Galician/i; d,c,l=false,'', 'Galician'
- #when /Saa?mi/i; d,c,l=false,'', 'Saami'
- #when /Hebrew/i; d,c,l=false,'', 'Hebrew'
- #when /Latin/i; d,c,l=false,'', 'Latin'
- #when /Esperanto/i; d,c,l=false,'', 'Esperanto'
- when /Slovenian|^sl$/i; d,c,l=false,'sl','Slovenian'
- when /Croatian|^hr$/i; d,c,l=false,'hr','Croatian'
- when /Slovak(?:ian)?|^sk$/i; d,c,l=false,'sk','Slovakian'
- when /Czech|^cs$/i; d,c,l=false,'cs','Czech'
- when /Bulgarian|^bg$/i; d,c,l=false,'bg','Bulgarian'
- else d,c,l=true,'en','English (default)'
- #else d,c,l=true,'xx','Default'
- end
- lang[:d],lang[:c],lang[:l]=d,c,l
- lang
+ when /^am$|Amharic/i; d,c,l=false,lang_lst['am'][:c], lang_lst['am'][:n]
+ when /^bg$|Bulgarian/i; d,c,l=false,lang_lst['bg'][:c], lang_lst['bg'][:n]
+ when /^bn$|Bengali/i; d,c,l=false,lang_lst['bn'][:c], lang_lst['bn'][:n]
+ when /^br$|Breton/i; d,c,l=false,lang_lst['br'][:c], lang_lst['br'][:n]
+ when /^ca$|Catalan/i; d,c,l=false,lang_lst['ca'][:c], lang_lst['ca'][:n]
+ when /^cs$|Czech/i; d,c,l=false,lang_lst['cs'][:c], lang_lst['cs'][:n]
+ when /^cy$|Welsh/i; d,c,l=false,lang_lst['cy'][:c], lang_lst['cy'][:n]
+ when /^da$|Danish|Dansk/i; d,c,l=false,lang_lst['da'][:c], lang_lst['da'][:n]
+ when /^de$|German/i; d,c,l=false,lang_lst['de'][:c], lang_lst['de'][:n]
+ when /^el$|Greek/i; d,c,l=false,lang_lst['el'][:c], lang_lst['el'][:n]
+ when /^en$|English/i; d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n]
+ when /^eo$|Esperanto/i; d,c,l=false,lang_lst['eo'][:c], lang_lst['eo'][:n]
+ when /^es$|Spanish|Espanol/i; d,c,l=false,lang_lst['es'][:c], lang_lst['es'][:n]
+ when /^et$|Estonian/i; d,c,l=false,lang_lst['et'][:c], lang_lst['et'][:n]
+ when /^eu$|Basque/i; d,c,l=false,lang_lst['eu'][:c], lang_lst['eu'][:n]
+ when /^fi$|Finnish|Finsk|Suomi/i; d,c,l=false,lang_lst['fi'][:c], lang_lst['fi'][:n]
+ when /^fr$|French|Francais/i; d,c,l=false,lang_lst['fr'][:c], lang_lst['fr'][:n]
+ when /^ga$|Irish/i; d,c,l=false,lang_lst['ga'][:c], lang_lst['ga'][:n]
+ when /^gl$|Galician/i; d,c,l=false,lang_lst['gl'][:c], lang_lst['gl'][:n]
+ when /^he$|Hebrew/i; d,c,l=false,lang_lst['he'][:c], lang_lst['he'][:n]
+ when /^hi$|Hindi/i; d,c,l=false,lang_lst['hi'][:c], lang_lst['hi'][:n]
+ when /^hr$|Croatian/i; d,c,l=false,lang_lst['hr'][:c], lang_lst['hr'][:n]
+ when /^hy$|Armenian/i; d,c,l=false,lang_lst['hy'][:c], lang_lst['hy'][:n]
+ when /^ia$|Interlingua/i; d,c,l=false,lang_lst['ia'][:c], lang_lst['ia'][:n]
+ when /^is$|Icelandic/i; d,c,l=false,lang_lst['is'][:c], lang_lst['is'][:n]
+ when /^it$|Italian/i; d,c,l=false,lang_lst['it'][:c], lang_lst['it'][:n]
+ when /^la$|Latin/i; d,c,l=false,lang_lst['la'][:c], lang_lst['la'][:n]
+ when /^lo$|Lao/i; d,c,l=false,lang_lst['lo'][:c], lang_lst['lo'][:n]
+ when /^lt$|Lithuanian/i; d,c,l=false,lang_lst['lt'][:c], lang_lst['lt'][:n]
+ when /^lv$|Latvian/i; d,c,l=false,lang_lst['lv'][:c], lang_lst['lv'][:n]
+ when /^ml$|Malayalam/i; d,c,l=false,lang_lst['ml'][:c], lang_lst['ml'][:n]
+ when /^mr$|Marathi/i; d,c,l=false,lang_lst['mr'][:c], lang_lst['mr'][:n]
+ when /^nl$|Dutch/i; d,c,l=false,lang_lst['nl'][:c], lang_lst['nl'][:n]
+ when /^no$|Norwegian|Norsk/i; d,c,l=false,lang_lst['no'][:c], lang_lst['no'][:n]
+ when /^nn$|Norwegian Nynorsk/i; d,c,l=false,lang_lst['nn'][:c], lang_lst['nn'][:n]
+ when /^oc$|Occitan/i; d,c,l=false,lang_lst['oc'][:c], lang_lst['oc'][:n]
+ when /^pl$|Polish/i; d,c,l=false,lang_lst['pl'][:c], lang_lst['pl'][:n]
+ when /^pt$|Portuguese/i; d,c,l=false,lang_lst['pt'][:c], lang_lst['pt'][:n]
+ when /^pt_BR$|Portuguese Brazil/i; d,c,l=false,lang_lst['pt_BR'][:c], lang_lst['pt_BR'][:n]
+ when /^ro$|Romanian/i; d,c,l=false,lang_lst['ro'][:c], lang_lst['ro'][:n]
+ when /^ru$|Russian/i; d,c,l=false,lang_lst['ru'][:c], lang_lst['ru'][:n]
+ when /^sa$|Sanskrit/i; d,c,l=false,lang_lst['sa'][:c], lang_lst['sa'][:n]
+ when /^se$|Sami/i; d,c,l=false,lang_lst['se'][:c], lang_lst['se'][:n]
+ when /^sk$|Slovak/i; d,c,l=false,lang_lst['sk'][:c], lang_lst['sk'][:n]
+ when /^sl$|Slovenian/i; d,c,l=false,lang_lst['sl'][:c], lang_lst['sl'][:n]
+ when /^sq$|Albanian/i; d,c,l=false,lang_lst['sq'][:c], lang_lst['sq'][:n]
+ when /^sr$|Serbian/i; d,c,l=false,lang_lst['sr'][:c], lang_lst['sr'][:n]
+ when /^sv$|Swedish|Svensk/i; d,c,l=false,lang_lst['sv'][:c], lang_lst['sv'][:n]
+ when /^ta$|Tamil/i; d,c,l=false,lang_lst['ta'][:c], lang_lst['ta'][:n]
+ when /^te$|Telugu/i; d,c,l=false,lang_lst['te'][:c], lang_lst['te'][:n]
+ when /^th$|Thai/i; d,c,l=false,lang_lst['th'][:c], lang_lst['th'][:n]
+ when /^tk$|Turkmen/i; d,c,l=false,lang_lst['tk'][:c], lang_lst['tk'][:n]
+ when /^tr$|Turkish/i; d,c,l=false,lang_lst['tr'][:c], lang_lst['tr'][:n]
+ when /^uk$|Ukranian/i; d,c,l=false,lang_lst['uk'][:c], lang_lst['uk'][:n]
+ when /^ur$|Urdu/i; d,c,l=false,lang_lst['ur'][:c], lang_lst['ur'][:n]
+ when /^us|American$|/i; d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n]
+ when /^vi$|Vietnamese/i; d,c,l=false,lang_lst['vi'][:c], lang_lst['vi'][:n]
+ else d,c,l=true, lang_lst['en'][:c], lang_lst['en'][:n] #default
+ end
+ lng[:d],lng[:c],lng[:n]=d,c,l
+ lng
end
def name
- language[:l].downcase
+ #lang(@language)[:n].downcase
+ #lang[@language][:n].downcase
+ #language[:n].downcase
+ language[:n].downcase
end
def title
- language[:l]
+ #lang(@language)[:n]
+ #lang[@language][:n]
+ language[:n]
end
def code
+ #lang[@language][:c]
+ #lang(@language)[:c]
language[:c]
end
- def file_to_language(file)
+ def tex_name
+ language[:xlp]
+ end
+ def file_to_language(file) # used, fix and remove
m=/.+?\~(\w{2,3})\.(?:-|ssm\.)?sst$/
@language=if file =~m ; file[m,1]
else ''
@@ -859,7 +903,15 @@ module SiSU_Env
language
end
def codes
- codes=['us','en','fr','de','it','es','br','pt','sv','da','fi','no','is','nl','et','hu','pl','ro','ru','el','uk','tr','sk','hr','sl','cs','bg'] # remove us and br see iso-639-2
+ # Language List po4a
+ # <http://www.debian.org/international/l10n/po/>
+ # Px[:lng_lst]=%w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi]
+ # see polyglossia for subset
+ # <http://mirrors.ctan.org/macros/xetex/latex/polyglossia/polyglossia.pdf>
+ # also note ISO_639-2
+ # <http://en.wikipedia.org/wiki/ISO_639-2>
+ # <http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes>
+ Px[:lng_lst] # constants.rb
end
end
class Info_env < Env_call
@@ -2091,7 +2143,7 @@ WOK
elsif defined? @rc['program_select']['console_web_browser'] \
and @rc['program_select']['console_web_browser'] =~/\S\S+/
@rc['program_select']['console_web_browser']
- else 'console-www-browser' #'lynx' 'links2' 'elinks' 'epiphany'
+ else 'console-www-browser' #'lynx' 'links' 'links2' 'elinks' 'w3m'
end
end
def console_www_browser
@@ -2104,7 +2156,7 @@ WOK
elsif defined? @rc['program_select']['epub_viewer'] \
and @rc['program_select']['epub_viewer'] =~/\S\S+/
@rc['program_select']['epub_viewer']
- else 'ebook-viewer' #'calibre' 'fbreader'
+ else 'ebook-viewer' #'calibre' 'fbreader'
end
end
def xml_viewer
@@ -2120,7 +2172,7 @@ WOK
((defined? @rc['program_select']['odf_viewer']) \
&& @rc['program_select']['odf_viewer'] =~/\S\S+/) \
? @rc['program_select']['odf_viewer'] \
- : 'libreoffice' #'odf-viewer','oowriter'
+ : 'lowriter' #'odf-viewer','oowriter'
end
def manpage_viewer
'man'
@@ -3382,14 +3434,9 @@ WOK
end
self
end
- def lang_part
- (@md.opt.f_pth[:lng]) \
- ? @md.opt.f_pth[:lng] \
- : @md.i18n[0]
- end
def set_path_abc(ft)
if @env.output_dir_structure.by_language_code?
- "#{output_path.base}/#{lang_part}/#{ft}"
+ "#{output_path.base}/#{@md.opt.lng}/#{ft}"
elsif @env.output_dir_structure.by_filetype?
"#{output_path.base}/#{ft}"
else
@@ -3398,14 +3445,14 @@ WOK
end
def set_path_ab(ft)
if @env.output_dir_structure.by_language_code?
- "#{output_path.base}/#{lang_part}/#{ft}"
+ "#{output_path.base}/#{@md.opt.lng}/#{ft}"
else
"#{output_path.base}/#{ft}"
end
end
def set_path_ab_src(ft)
if @env.output_dir_structure.by_language_code?
- "#{output_path.base}/#{ft}/#{lang_part}"
+ "#{output_path.base}/#{ft}/#{@md.opt.lng}"
else
"#{output_path.base}/#{ft}"
end
@@ -3429,14 +3476,14 @@ WOK
path=set_path_ab_src(ft)
end
def po
- "#{output_path.base}/po4a/#{@md.fnb}/po/#{lang_part}"
+ "#{output_path.base}/po4a/#{@md.fnb}/po/#{@md.opt.lng}"
end
def pot
"#{output_path.base}/po4a/#{@md.fnb}/pot"
end
def po_git
ft=Gt[:po]
- pth=@env.processing_path.git + '/' + @md.fnb + '/' + ft + '/' + lang_part
+ pth=@env.processing_path.git + '/' + @md.fnb + '/' + ft + '/' + @md.opt.lng
mkdir_p(pth) unless FileTest.directory?(pth)
pth
end
@@ -3512,6 +3559,9 @@ WOK
ft='sitemaps'
path=set_path_ab(ft)
end
+ def sqlite
+ path=output_path.base
+ end
self
end
end
@@ -3638,8 +3688,12 @@ WOK
@@pwd ||=Dir.pwd
@pwd=Dir.pwd
@env=SiSU_Env::Info_env.new
- m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
- @pwd_stub=@pwd[m,1]
+ #m=/.+\/(?:src\/)?(\S+)/m # m=/.+?\/(?:src\/)?([^\/]+)$/im # m=/.+\/(\S+)/m
+ #@pwd_stub=@pwd[m,1]
+ pt=Pathname.new(@pwd)
+ r=Px[:lng_lst].join('|')
+ u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
+ @pwd_stub=pt.realpath.to_s[u,1]
@rc=@@rc ||=Get_init.instance.sisu_yaml.rc
@defaults=Info_env.new.defaults
end
diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb
index 90dd7452..8c53b458 100644
--- a/lib/sisu/v3/texpdf_format.rb
+++ b/lib/sisu/v3/texpdf_format.rb
@@ -614,7 +614,7 @@ module SiSU_TeX_Pdf
end
end
class Format_head
- require_relative 'i18n' # defaults.rb
+ require_relative 'prog_text_translation' # prog_text_translation.rb
def initialize(md,t_o)
@md,@t_o=md,t_o
@env=SiSU_Env::Info_env.new(@md.fns)
@@ -632,14 +632,14 @@ module SiSU_TeX_Pdf
@brace_url=SiSU_Viz::Skin.new.url_decoration
@tex2pdf=@@tex3pdf ||=SiSU_Env::System_call.new.tex2pdf_engine
@ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i
- @lang ||=SiSU_i18n::Language.new(@md)
+ @lang ||=SiSU_i18n::Languages.new #.list[@md.opt.lng][:xlp]
end
def tex_head_lang #babel 18n
lang_char_arr=@md.i18n
mainlang_char=lang_char_arr.slice(0)
- mainlang=@lang.tex_name(mainlang_char)
+ mainlang=@lang.list[mainlang_char][:xlp]
otherlang=[]
- lang_char_arr.slice(1..9).each { |ch| otherlang << @lang.tex_name(ch) }
+ lang_char_arr.slice(1..9).each { |ch| otherlang << @lang.list[ch][:xlp] }
otherlang=otherlang.join(',')
{ mainlang: mainlang, otherlang: otherlang }
end
@@ -893,7 +893,7 @@ WOK
end
def document_head_with_orientation
endnotes=("\\usepackage{endnotes}" if @txt =~/endnotes?/)||'' #not implemented see also def endnotes
- @lang.tex_name(@md.i18n[0])
+ @lang.list[@md.i18n[0]][:xlp]
<<WOK
#{tex_head_paper}
#{tex_head_encode}
@@ -956,7 +956,7 @@ WOK
{-\\baselineskip}{0.5\\baselineskip}%
{\\normalfont\\normalsize\\itshape\\raggedright}}
% \\makeatother
-\\selectlanguage{#{@lang.tex_name(@md.i18n[0])}}
+\\selectlanguage{#{@lang.list[@md.i18n[0]][:xlp]}}
WOK
end
def a4generic
diff --git a/lib/sisu/v3/urls.rb b/lib/sisu/v3/urls.rb
index 77952d0b..c963c97e 100644
--- a/lib/sisu/v3/urls.rb
+++ b/lib/sisu/v3/urls.rb
@@ -79,12 +79,11 @@ module SiSU_urls
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::Combined_singleton.instance.get_env_md(opt)
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
@cmd=@opt.cmd
@md=@particulars.md
@env=@particulars.env
@fnb=@env.fnb
- fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(@opt.fns)
+ fn_set_lang=SiSU_Env::Standardise_language.new(@opt.lng).language
@fnl=@env.i18n.lang_filename(fn_set_lang[:c])
@fn=SiSU_Env::Env_call.new(@opt.fns).lang(fn_set_lang[:c])
@m_regular=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/
@@ -216,7 +215,7 @@ module SiSU_urls
SiSU_Screen::Ansi.new(@opt.cmd,"-#{x} DBI psql","#{@pwd_stub}::#{@opt.fns}",y).result
end
def sqlite(x,y)
- SiSU_Screen::Ansi.new(@opt.cmd,"-#{x} DBI sqlite","sqlite3 #{@env.path.output}/sisu_sqlite.db", "#{y}").result
+ SiSU_Screen::Ansi.new(@opt.cmd,"-#{x} DBI sqlite","sqlite3 #{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}/sisu_sqlite.db", "#{y}").result
end
self
end