1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
#!/usr/bin/env ruby
=begin
** Description:
** Homepage: <http://www.jus.uio.no/sisu/SiSU>
<http://search.sisudoc.org>
** Download: <http://www.jus.uio.no/sisu/download>
** Copyright: (C) 2007 - 2015 Ralph Amissah
** License:
** Ralph Amissah <ralph@amissah.com>
Ralph Amissah <ralph.amissah@gmail.com>
=end
#% manual settings, edit/update as required (note current default settings are obtained from sisu version yml file)
begin
require 'thor'
rescue LoadError
puts 'thor (package ruby-thor) not found'
end
#begin
# require './setup/sisu_version' # ./setup/sisu_version.rb
# include SiSUversion
#rescue LoadError
# puts 'this does not appear to be a SiSU development directory'
# exit
#end
require_relative 'sisu_po4a_libs' # sisu_po4a_libs.rb
require 'find'
require 'fileutils'
include FileUtils
require 'pathname'
require 'rbconfig.rb'
#require 'yaml'
module SiSUconf
class LanguageCodes
def language_list
def codes
%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 ja ko 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 zh]
end
def regex
codes.join('|')
end
self
end
end
class Configure < Thor
$SiSU_Language_Codes=LanguageCodes.new
@@source=@@targets=nil
include SiSU_Po4a_Actions
class_option :verbose, :type => :boolean
# rake help clean default distclean make manpage readme rebuild
desc 'po4a',
'place SiSU translations under po4a management' \
+ 'assist with having sisu markup files managed by po4a' \
+ 'create configuration files, and language directories and' \
+ 'populate them with po4a pot & po files for translation and' \
+ 'from those (as translated) create translated sisu markup' \
+ '.ssm .sst & .ssi files in corresponding language sub-directories' \
+ '*WARNING* creates, destroys, overrwrites directories not managed by po4a'
options \
:help => :boolean,
:clean => :boolean,
#:default => :boolean,
:distclean => :boolean,
:make => :boolean,
:lang_source => :string,
:lang_targets => :array,
:manpage => :boolean,
:readme => :boolean,
:rebuild => :boolean
def po4a
@@source=source=if options[:lang_source] \
and not options[:lang_source].empty?
options[:lang_source]
else nil
end
@@targets=targets=if options[:lang_targets]
options[:lang_targets]
else nil
end
language.translation_languages_selected(targets)
language.source_language_selected(source)
if options[:help]
notice.project_help
end
if options[:clean]
notice.default(:clean)
project.clean
end
#if options[:default]
# notice.project_help
#end
if options[:distclean]
notice.default(:distclean)
project.distclean
end
if options[:make]
notice.default(:make)
project.make
end
if options[:manpage]
generate.manpage
end
if options[:readme]
generate.readme
end
if options[:rebuild]
notice.default(:rebuild)
project.distclean
project.make
end
end
end
end
begin
$called_as,$argv=$0,$*
SiSUconf::Configure.start(ARGV)
rescue
end
__END__
|