imposition 0.9.4.5.1 → 0.9.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/impostor +32 -23
- data/lib/imposition.rb +5 -4
- data/lib/imposition/clases.rb +55 -56
- data/lib/imposition/metodos.rb +8 -9
- data/lib/locales/en.yml +72 -0
- data/lib/locales/es.yml +72 -0
- metadata +6 -5
data/bin/impostor
CHANGED
@@ -13,7 +13,7 @@ def input(nombre)
|
|
13
13
|
retorno["unidad"]="point"#default
|
14
14
|
return retorno
|
15
15
|
else
|
16
|
-
regex = /(\d
|
16
|
+
regex = /(\d*\.*\d*)\s*(\w*)/
|
17
17
|
split = regex.match(input)
|
18
18
|
if split!=nil then
|
19
19
|
retorno["numero"]=split[1].to_f
|
@@ -24,18 +24,18 @@ def input(nombre)
|
|
24
24
|
end
|
25
25
|
return retorno
|
26
26
|
else
|
27
|
-
puts
|
27
|
+
puts I18n.t(:badunit, :input => input)
|
28
28
|
input(nombre)
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
32
32
|
#
|
33
33
|
def enBooklets()
|
34
|
-
STDOUT.puts(
|
34
|
+
STDOUT.puts(I18n.t(:bookletsq))
|
35
35
|
bookies=STDIN.gets.to_s
|
36
|
-
if bookies[0]
|
36
|
+
if bookies[0].eql?("y") then
|
37
37
|
return true
|
38
|
-
elsif bookies[0]
|
38
|
+
elsif bookies[0].eql?("n") then
|
39
39
|
return false
|
40
40
|
else
|
41
41
|
enBooklets()
|
@@ -53,15 +53,16 @@ end
|
|
53
53
|
#
|
54
54
|
def escalado(tipo)
|
55
55
|
if tipo=="horizontalmente" then
|
56
|
-
puts "
|
56
|
+
puts I18n.t(:WnX)+" "+I18n.t(tipo)
|
57
57
|
else
|
58
|
-
puts "
|
58
|
+
puts I18n.t(:HnY)+" "+I18n.t(tipo)
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
|
+
puts(I18n.t(:scale, :tp=>I18n.t(tipo)))
|
61
62
|
escalar=STDIN.gets.to_s
|
62
|
-
if escalar[0]
|
63
|
+
if escalar[0].eql?("y") then
|
63
64
|
return true
|
64
|
-
elsif escalar[0]
|
65
|
+
elsif escalar[0].eql?("n") then
|
65
66
|
return false
|
66
67
|
else
|
67
68
|
escalado(tipo)
|
@@ -69,11 +70,11 @@ def escalado(tipo)
|
|
69
70
|
end
|
70
71
|
#
|
71
72
|
def todasPag(nPliegos, nX, nY, caben, tiene)
|
72
|
-
#STDOUT.puts("el pdf tiene #{tiene.to_i} paginas, pero en #{nPliegos.to_i} de #{nX}x#{nY} caben #{caben.to_i} paginas ¿usar las del pdf? (y/n)")
|
73
|
+
#TODO rm? STDOUT.puts("el pdf tiene #{tiene.to_i} paginas, pero en #{nPliegos.to_i} de #{nX}x#{nY} caben #{caben.to_i} paginas ¿usar las del pdf? (y/n)")
|
73
74
|
escalar=STDIN.gets.to_s
|
74
|
-
if escalar[0]
|
75
|
+
if escalar[0].eql?("y") then
|
75
76
|
return true
|
76
|
-
elsif escalar[0]
|
77
|
+
elsif escalar[0].eql?("n") then
|
77
78
|
return false
|
78
79
|
else
|
79
80
|
todasPag(nPliegos, nX, nY, caben, tiene)
|
@@ -81,12 +82,12 @@ def todasPag(nPliegos, nX, nY, caben, tiene)
|
|
81
82
|
end
|
82
83
|
#
|
83
84
|
def reducirUltimo(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos)
|
84
|
-
puts
|
85
|
-
puts
|
85
|
+
puts I18n.t(:excesscXC, :cXC=>cuadernillosPorCostura, :p=>paginasSobran)
|
86
|
+
puts I18n.t(:reducecXC, :nCuad=>nCuad,:sobranMenos=>sobranMenos)
|
86
87
|
ok=STDIN.gets.to_s
|
87
|
-
if ok[0]
|
88
|
+
if ok[0].eql?("y") then
|
88
89
|
return true
|
89
|
-
elsif ok[0]
|
90
|
+
elsif ok[0].eql?("n") then
|
90
91
|
return false
|
91
92
|
else
|
92
93
|
reducirUltimo(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos)
|
@@ -98,6 +99,14 @@ end
|
|
98
99
|
#
|
99
100
|
$entrada=ARGV.shift
|
100
101
|
$salida=ARGV.shift
|
102
|
+
$locale=ARGV.shift
|
103
|
+
|
104
|
+
if $locale!=nil then
|
105
|
+
I18n.locale=$locale.strip
|
106
|
+
else
|
107
|
+
I18n.locale = :en
|
108
|
+
end
|
109
|
+
|
101
110
|
#
|
102
111
|
Metodos.refresh()
|
103
112
|
#
|
@@ -107,7 +116,7 @@ if check.instance_of? Clases::Mensaje then
|
|
107
116
|
exit
|
108
117
|
end
|
109
118
|
#
|
110
|
-
puts
|
119
|
+
puts I18n.t('welcome')#blink blink
|
111
120
|
#
|
112
121
|
w_=input("w:")
|
113
122
|
h_=input("h:")
|
@@ -115,15 +124,15 @@ wP_=input("W:")
|
|
115
124
|
hP_=input("H:")
|
116
125
|
nX_=input("nX:")
|
117
126
|
nY_=input("nY:")
|
118
|
-
nPaginas_=input("
|
119
|
-
nPliegos_=input("
|
127
|
+
nPaginas_=input(I18n.t(:nPages)+":")
|
128
|
+
nPliegos_=input(I18n.t(:nSheets)+":")
|
120
129
|
cuadernillos = enBooklets()
|
121
130
|
#
|
122
131
|
def recursivo(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos, preguntas)
|
123
132
|
impostor=Metodos.funcionar(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos,preguntas,$temp)
|
124
133
|
if impostor.preguntasOk then
|
125
134
|
if impostor.valido then
|
126
|
-
puts
|
135
|
+
puts I18n.t(:msgs)#blink blink
|
127
136
|
impostor.mensajes.each do |mensaje|
|
128
137
|
puts mensaje.mensaje
|
129
138
|
end
|
@@ -131,7 +140,7 @@ def recursivo(w_,h_,wP_,hP_,nX,nY,nPaginas,nPliegos,cuadernillos, preguntas)
|
|
131
140
|
impostor.errores().each do |error|
|
132
141
|
puts error.mensaje
|
133
142
|
end
|
134
|
-
puts
|
143
|
+
puts I18n.t(:dead)
|
135
144
|
exit
|
136
145
|
end
|
137
146
|
else
|
@@ -170,7 +179,7 @@ if $salida == nil then
|
|
170
179
|
end
|
171
180
|
FileUtils.mv(File.dirname($temp)+"/"+"cutStack.pdf", $salida)
|
172
181
|
#
|
173
|
-
puts
|
182
|
+
puts I18n.t(:end)#blink blink
|
174
183
|
ensure
|
175
184
|
#limpio todo, aunque se caiga
|
176
185
|
if File.dirname($temp)!=nil then
|
data/lib/imposition.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
#GEMAS
|
2
|
-
require 'rubygems'
|
2
|
+
require 'rubygems' if RUBY_VERSION < '1.9'
|
3
3
|
require 'uuidtools'
|
4
4
|
require 'fileutils'
|
5
5
|
require 'alchemist'
|
6
|
+
require 'i18n'
|
6
7
|
#Clases
|
7
8
|
require 'imposition/clases'
|
8
9
|
require 'imposition/metodos'
|
9
|
-
#
|
10
|
+
#i18n
|
11
|
+
I18n.load_path = Dir.glob(File.dirname(__FILE__)+"/locales/*.{rb,yml}")
|
10
12
|
#
|
11
13
|
$requerimientos=Hash.new
|
12
14
|
$requerimientos["pdflatex"]="pdflatex"
|
@@ -18,5 +20,4 @@ check=Metodos.checksCompile()
|
|
18
20
|
if check.instance_of? Clases::Mensaje then
|
19
21
|
puts check.mensaje
|
20
22
|
#exit
|
21
|
-
end
|
22
|
-
|
23
|
+
end
|
data/lib/imposition/clases.rb
CHANGED
@@ -31,15 +31,15 @@ class Imposicion
|
|
31
31
|
if @cuadernillos then
|
32
32
|
nXm*=2
|
33
33
|
end
|
34
|
-
str="
|
34
|
+
str=I18n.t(:params)+"\n"
|
35
35
|
str+="nX:"+nXm.to_s+"\n"
|
36
36
|
str+="nY:"+@nY.to_s+"\n"
|
37
|
-
str+="
|
38
|
-
str+="
|
39
|
-
str+="
|
40
|
-
str+="
|
41
|
-
str+="
|
42
|
-
str+="
|
37
|
+
str+=I18n.t(:nPages)+":"+@nPaginas.to_s+"\n"
|
38
|
+
str+=I18n.t(:nSheets)+":"+@nPliegos.to_s+"\n"
|
39
|
+
str+=I18n.t(:pwidth)+":"+@w.to_s+" "+@w_["unidad"]+"\n"
|
40
|
+
str+=I18n.t(:pheight)+":"+@h.to_s+" "+@h_["unidad"]+"\n"
|
41
|
+
str+=I18n.t(:swidth)+":"+@wP.to_s+" "+@wP_["unidad"]+"\n"
|
42
|
+
str+=I18n.t(:sheight)+":"+@hP.to_s+" "+@hP_["unidad"]+"\n"
|
43
43
|
return str
|
44
44
|
end
|
45
45
|
end
|
@@ -92,11 +92,11 @@ class Mensaje
|
|
92
92
|
end
|
93
93
|
def to_s
|
94
94
|
if @level==1 then
|
95
|
-
@retorno="
|
95
|
+
@retorno=I18n.t(:info)+": "
|
96
96
|
elsif @level==2 then
|
97
|
-
@retorno="
|
97
|
+
@retorno=I18n.t(:warn)+": "
|
98
98
|
elsif @level==3 then
|
99
|
-
@retorno="
|
99
|
+
@retorno=I18n(:error)+": "
|
100
100
|
end
|
101
101
|
@retorno+=@mensaje.to_s
|
102
102
|
return @retorno
|
@@ -125,74 +125,74 @@ class MensajeDato < Mensaje
|
|
125
125
|
if tipo=="horizontal" then
|
126
126
|
if level==1 then#info
|
127
127
|
if numero==1 then
|
128
|
-
return
|
128
|
+
return I18n.t(:nXCalc)
|
129
129
|
elsif numero==2 then
|
130
|
-
return [2,
|
130
|
+
return [2,I18n.t(:wPCalc)]
|
131
131
|
elsif numero==3 then
|
132
|
-
return [12,
|
132
|
+
return [12,I18n.t(:wCalc)]
|
133
133
|
elsif numero==4 then
|
134
|
-
return [1,
|
134
|
+
return [1,I18n.t(:wRoyal)]
|
135
135
|
end
|
136
136
|
elsif level==3 then#error
|
137
137
|
if numero==1 then
|
138
|
-
return
|
138
|
+
return I18n.t(:wOnly)
|
139
139
|
elsif numero==2 then
|
140
|
-
return
|
140
|
+
return I18n.t(:wPOnly)
|
141
141
|
elsif numero==3 then
|
142
|
-
return
|
142
|
+
return I18n.t(:nXOnly)
|
143
143
|
elsif numero==4 then
|
144
|
-
return
|
144
|
+
return I18n.t(:nothingH)
|
145
145
|
elsif numero==5 then
|
146
|
-
return
|
146
|
+
return I18n.t(:noPageH)
|
147
147
|
end
|
148
148
|
end
|
149
149
|
elsif tipo=="vertical" then
|
150
150
|
if level==1 then#info
|
151
151
|
if numero==1 then
|
152
|
-
return
|
152
|
+
return I18n.t(:nYCalc)
|
153
153
|
elsif numero==2 then
|
154
|
-
return [4,
|
154
|
+
return [4,I18n.t(:hPCalc)]
|
155
155
|
elsif numero==3 then
|
156
|
-
return [11,
|
156
|
+
return [11,I18n.t(:hCalc)]
|
157
157
|
elsif numero==4 then
|
158
|
-
return [3,
|
158
|
+
return [3,I18n.t(:hRoyal)]
|
159
159
|
end
|
160
160
|
elsif level==3 then#error
|
161
161
|
if numero==1 then
|
162
|
-
return
|
162
|
+
return I18n.t(:hOnly)
|
163
163
|
elsif numero==2 then
|
164
|
-
return
|
164
|
+
return I18n.t(:hPOnly)
|
165
165
|
elsif numero==3 then
|
166
|
-
return
|
166
|
+
return I18n.t(:nYOnly)
|
167
167
|
elsif numero==4 then
|
168
|
-
return
|
168
|
+
return I18n.t(:nothingV)
|
169
169
|
elsif numero==5 then
|
170
|
-
return
|
170
|
+
return I18n.t(:noPageV)
|
171
171
|
end
|
172
172
|
end
|
173
173
|
elsif tipo=="paginas" then
|
174
174
|
if level==1 then
|
175
175
|
if numero==1 then
|
176
|
-
return
|
176
|
+
return I18n.t(:nPageCalc)
|
177
177
|
elsif numero==2 then
|
178
|
-
return [6,
|
178
|
+
return [6,I18n.t(:nSheetCalc)]
|
179
179
|
elsif numero==3 then
|
180
|
-
return [5,
|
180
|
+
return [5,I18n.t(:nPagePdf)]
|
181
181
|
end
|
182
182
|
elsif level==3 then
|
183
183
|
if numero==1 then
|
184
|
-
return
|
184
|
+
return I18n.t(:nPageXL)
|
185
185
|
else
|
186
|
-
return
|
186
|
+
return I18n.t(:noPages)
|
187
187
|
end
|
188
188
|
end
|
189
189
|
elsif tipo=="pliegos" then
|
190
190
|
if level==1 then
|
191
|
-
return
|
191
|
+
return I18n.t(:allSheet, :n=>numero)
|
192
192
|
elsif level==2 then
|
193
|
-
return
|
193
|
+
return I18n.t(:sheetXL, :n=>numero)
|
194
194
|
elsif level==3 then
|
195
|
-
return
|
195
|
+
return I18n.t(:sheetXS, :n=>numero)
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
@@ -207,16 +207,17 @@ class MensajeMedida < Mensaje
|
|
207
207
|
def deducirMensaje(level, tipo, args)
|
208
208
|
if tipo=="horizontal" then
|
209
209
|
if level==3 then
|
210
|
-
|
210
|
+
|
211
|
+
return I18n.t(:nXwwPno, :nX=>args[0], :w=>args[1]["numero"].to_s+args[1]["unidad"], :wP=>args[2]["numero"].to_s+args[2]["unidad"])
|
211
212
|
elsif level==2 then
|
212
|
-
return
|
213
|
+
return I18n.t(:wPXL, :n=>args[0].to_s+args[1])
|
213
214
|
end
|
214
215
|
elsif tipo=="vertical" then
|
215
216
|
if level==3 then
|
216
|
-
return
|
217
|
+
return I18n.t(:nYhhPno, :nY=>args[0], :h=>args[1]["numero"].to_s+args[1]["unidad"], :hP=>args[2]["numero"].to_s+args[2]["unidad"])
|
217
218
|
elsif level==2 then
|
218
219
|
@id=15
|
219
|
-
return
|
220
|
+
return I18n.t(:hPXL, :n=>args[0].to_s+args[1])
|
220
221
|
end
|
221
222
|
end
|
222
223
|
end
|
@@ -229,14 +230,14 @@ class MensajeTiempo < Mensaje
|
|
229
230
|
@level=1
|
230
231
|
if tipo==1 then#booklets
|
231
232
|
@id=14#fijo
|
232
|
-
@mensaje=
|
233
|
-
@mensaje+=
|
233
|
+
@mensaje=I18n.t(:bookltsblink)#blink blink
|
234
|
+
@mensaje+=I18n.t(:bookltsxplain)
|
234
235
|
elsif tipo==2 then
|
235
236
|
@id=9#fijo
|
236
|
-
@mensaje=
|
237
|
-
@mensaje+=
|
237
|
+
@mensaje=I18n.t(:nUpblink)#blink blink
|
238
|
+
@mensaje+=I18n.t(:nUpxplain)
|
238
239
|
end
|
239
|
-
@mensaje+=@tiempo.to_s+"
|
240
|
+
@mensaje+=@tiempo.to_s+" "+I18n.t(:s)
|
240
241
|
super(level,mensaje)
|
241
242
|
end
|
242
243
|
end
|
@@ -246,7 +247,7 @@ class MensajeLadoLado < Mensaje
|
|
246
247
|
def initialize(nP)
|
247
248
|
@id=7#fijo
|
248
249
|
@nP=nP
|
249
|
-
@mensaje=
|
250
|
+
@mensaje=I18n.t(:sheetPair, :n=>@nP)
|
250
251
|
super(1,@mensaje)
|
251
252
|
end
|
252
253
|
end
|
@@ -301,7 +302,7 @@ class PreguntaExigePar < Pregunta
|
|
301
302
|
attr_accessor :nX
|
302
303
|
def initialize(nX)
|
303
304
|
@nX=nX
|
304
|
-
@mensaje=
|
305
|
+
@mensaje=I18n.t(:nXPair, :nX=>@nX)
|
305
306
|
@ok=false
|
306
307
|
end
|
307
308
|
def metodo(nX)
|
@@ -315,7 +316,7 @@ class PreguntaCXC < Pregunta
|
|
315
316
|
attr_reader :cXC
|
316
317
|
def initialize()
|
317
318
|
@ide=4
|
318
|
-
@mensaje=
|
319
|
+
@mensaje=I18n.t(:cXC)
|
319
320
|
end
|
320
321
|
def metodo(cXC)
|
321
322
|
@cXC=cXC["numero"].to_i
|
@@ -329,12 +330,12 @@ class PreguntaEscalado < Pregunta
|
|
329
330
|
@tipo=tipo
|
330
331
|
if @tipo=="horizontalmente" then
|
331
332
|
@ide=1
|
332
|
-
@mensaje="
|
333
|
+
@mensaje=I18n.t(:WnX)+" "+I18n.t(tipo)
|
333
334
|
elsif @tipo=="verticalmente" then
|
334
335
|
@ide=2
|
335
|
-
@mensaje="
|
336
|
+
@mensaje=I18n.t(:HnY)+" "+I18n.t(tipo)
|
336
337
|
end
|
337
|
-
@mensaje+=
|
338
|
+
@mensaje+=I18n.t(:scale, :tp=>I18n.t(tipo))
|
338
339
|
end
|
339
340
|
def metodo(yn)
|
340
341
|
@yn=yn
|
@@ -346,7 +347,7 @@ class PreguntaTodasPag < Pregunta
|
|
346
347
|
attr_accessor :nPliegos, :nX, :nY, :caben, :tiene
|
347
348
|
def initialize(nPliegos, nX, nY, caben, tiene)
|
348
349
|
@ide=3
|
349
|
-
@mensaje=
|
350
|
+
@mensaje=I18n.t(:allPdfq, :p=>tiene.to_i, :s=>nPliegos.to_i, :nX=>nX, :nY=>nY, :c=>caben.to_i,)
|
350
351
|
@nPliegos=nPliegos
|
351
352
|
@nX=nX
|
352
353
|
@nY=nY
|
@@ -363,7 +364,7 @@ class PreguntaReducir < Pregunta
|
|
363
364
|
attr_reader :q, :cuadernillosPorCostura, :paginasSobran, :nCuad, :sobranMenos
|
364
365
|
def initialize(cuadernillosPorCostura, paginasSobran, nCuad, sobranMenos, q)
|
365
366
|
@ide=5
|
366
|
-
@mensaje=
|
367
|
+
@mensaje=I18n.t(:reduceq, :cXC=>cuadernillosPorCostura, :extra=>paginasSobran, :n=>nCuad, :less=>sobranMenos)
|
367
368
|
@cuadernillosPorCostura=cuadernillosPorCostura
|
368
369
|
@paginasSobran=paginasSobran
|
369
370
|
@nCuad=nCuad
|
@@ -406,6 +407,4 @@ class RespuestaImpostor
|
|
406
407
|
end
|
407
408
|
end
|
408
409
|
|
409
|
-
end#fin modulo
|
410
|
-
#proximo
|
411
|
-
#16
|
410
|
+
end#fin modulo
|
data/lib/imposition/metodos.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/bin/env ruby
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
|
-
|
5
4
|
module Metodos
|
6
5
|
|
7
6
|
#WORK
|
@@ -24,7 +23,7 @@ def checksCompile()
|
|
24
23
|
$requerimientos.each do |k,v|
|
25
24
|
`which #{v}`
|
26
25
|
if !$?.success? then
|
27
|
-
return Clases::Mensaje.new(3,
|
26
|
+
return Clases::Mensaje.new(3, I18n.t(:notexe, :x=>v))
|
28
27
|
end
|
29
28
|
end
|
30
29
|
#probamos que exista el directorio de trabajo
|
@@ -36,10 +35,10 @@ def checksCompile()
|
|
36
35
|
Dir.mkdir($work)
|
37
36
|
end
|
38
37
|
else
|
39
|
-
return Clases::Mensaje.new(3,
|
38
|
+
return Clases::Mensaje.new(3,I18n.t(:wknowrite, :work=>$work))
|
40
39
|
end
|
41
40
|
else
|
42
|
-
return Clases::Mensaje.new(3,
|
41
|
+
return Clases::Mensaje.new(3,I18n.t(:wknoexist, :work=>$work))
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
@@ -50,23 +49,23 @@ def checksRun(entrada,salida)
|
|
50
49
|
if File.owned?(entrada) then
|
51
50
|
busca = /.*(.pdf)/
|
52
51
|
if !busca.match(File.basename(entrada)) then
|
53
|
-
return Clases::Mensaje.new(3,
|
52
|
+
return Clases::Mensaje.new(3,I18n.t(:nopdf, :entrada=>entrada))
|
54
53
|
end
|
55
54
|
else
|
56
|
-
return Clases::Mensaje.new(3,
|
55
|
+
return Clases::Mensaje.new(3,I18n.t(:notmine))
|
57
56
|
end
|
58
57
|
else
|
59
|
-
return Clases::Mensaje.new(3,entrada
|
58
|
+
return Clases::Mensaje.new(3,I18n.t(:notafile, :entrada=>entrada))
|
60
59
|
end
|
61
60
|
else
|
62
|
-
return Clases::Mensaje.new(3,
|
61
|
+
return Clases::Mensaje.new(3,I18n.t(:nofile))
|
63
62
|
end
|
64
63
|
#y la salida, de haberla
|
65
64
|
if salida!=nil then
|
66
65
|
#if File.exists?(salida) then #TODO crearla si es escribible
|
67
66
|
salidaDir=File.dirname(salida)
|
68
67
|
if !File.writable?(salidaDir) or !File.writable_real?(salidaDir) then
|
69
|
-
return Clases::Mensaje.new(3,
|
68
|
+
return Clases::Mensaje.new(3,I18n.t(:exitnowrite))
|
70
69
|
end
|
71
70
|
#else
|
72
71
|
# puts salida+ " no existe"
|
data/lib/locales/en.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
en:
|
2
|
+
welcome: "- Welcome human, let's print a book. says :::impostor::0.9.4.5.1:::"
|
3
|
+
badunit: "%{input}'s unit is incorrect."
|
4
|
+
bookletsq: "order for booklets? (y/n)"
|
5
|
+
WnX: "You didn't specify Page width but you specified Sheet width and how many Pages per Sheet"
|
6
|
+
horizontalmente: "horizontally"
|
7
|
+
verticalmente: "vertically"
|
8
|
+
HnY: "You didn't specify Page height pero you specified Sheet height and how many Pages per Sheet"
|
9
|
+
scale: "¿Do you really wanna scale %{tp} ? (y/n)"
|
10
|
+
excesscXC: "Last group of %{cXC} booklets will have extra %{p} pages"
|
11
|
+
reducecXC: "We can reduce it to %{nCuad} booklets, to have extra %{sobranMenos} pages. ¿0K? (y/n)"
|
12
|
+
nPages: "nPages"
|
13
|
+
nSheets: "nSheets"
|
14
|
+
dead: "::impostor:: won't work like that"
|
15
|
+
end: "Game Over"
|
16
|
+
msg: "::::::::::::messages:::::::::::::"
|
17
|
+
params: ":::::::::::::params::::::::::::::"
|
18
|
+
pwidth: "page width"
|
19
|
+
pheight: "page height"
|
20
|
+
swidth: "sheet width"
|
21
|
+
sheight: "sheet height"
|
22
|
+
info: "info"
|
23
|
+
warn: "Warning"
|
24
|
+
error: "ERROR"
|
25
|
+
nXCalc: "nX (pages per sheet horizontally) calculated based on sheet width (W) and page width (w)"
|
26
|
+
wPCalc: "W (sheet width) calculated based on page width (w) and number of pages per sheet horizontally (nX)"
|
27
|
+
wCalc: "w (page width) calculated based on sheet width (W) and number of pages per sheet horizontally (nX)"
|
28
|
+
wRoyal: "Real page width taken"
|
29
|
+
wOnly: "You specified w (page width) but not W (sheet width) nor nX (pages per sheet horizontally)"
|
30
|
+
wPOnly: "You specified W (sheet width) but not w (page width) nor nX (pages per sheet horizontally)"
|
31
|
+
nXOnly: "You specified nX (pages per sheet horizontally) but nor page width (w) nor sheet width (W)"
|
32
|
+
nothingH: "You didn't specify page width (w), sheet width (W), nor pages per sheet horizontally (nX)"
|
33
|
+
noPageH: "No pages fit horizontally"
|
34
|
+
nYCalc: "nY (pages per sheet vertically) calculated based on sheet height (H) and page height (h)"
|
35
|
+
hPCalc: "H (sheet height) calculated based on page height (h) and pages per sheet vertically (nY)"
|
36
|
+
hCalc: "h (page height) calculated based on sheet height (H) and number of pages per sheet vertically (nY)"
|
37
|
+
hRoyal: "Real page height taken"
|
38
|
+
hOnly: "You specified h (page height) but not H (sheet height) nor nY (pages per sheet vertically)"
|
39
|
+
hPOnly: "You specified H (sheet height) but not h (page height) nor nY (pages per sheet vertically)"
|
40
|
+
nYOnly: "You specified nY (pages per sheet vertically) but not page height (h) nor sheet height (H)"
|
41
|
+
nothingV: "You didn't specify page height (h), sheet height (H) nor pages per sheet vertically (nY)"
|
42
|
+
noPageV: "No pages fit vertically"
|
43
|
+
nPageCalc: "Number of pages calculated based on number of sheets and pages per sheet"
|
44
|
+
nSheetCalc: "Number of sheets calculated based on number of pages and pages per sheet"
|
45
|
+
nPagePdf: "All document's pages taken"
|
46
|
+
nPageXL: "You're specifying more pages than the document has"
|
47
|
+
noPages: "You didn't specify number of pages or sheets"
|
48
|
+
allSheet: "%{n} needed sheets taken"
|
49
|
+
sheetXL: "%{n} sheets leftover"
|
50
|
+
sheetXS: "%{n} sheets missing"
|
51
|
+
nXwwPno: "%{nX} pages %{w} wide don't fit into a %{wP} wide sheet"
|
52
|
+
wPXL: "%{n} wide leftover"
|
53
|
+
nYhhPno: "%{nY} pages %{h} high don't fit into a %{hP} high sheet"
|
54
|
+
hPXL: "%{n} high leftover"
|
55
|
+
bookltsblink: "::::::::::booklets:::::::::::\n"
|
56
|
+
bookltsxplain: "Ordered for booklets in "
|
57
|
+
nUpblink: "::::::::::::cut&Stack::::::::::::\n"
|
58
|
+
nUpxplain: "imposed for Cut & Stack in "
|
59
|
+
s: "seconds"
|
60
|
+
sheetPair: "Sheets can't be odd for side by side booklets, %{n}+1 sheets taken"
|
61
|
+
nXPair: "For foldable booklets pages per sheet must be even horizontally but you specified nX:%{nX}."
|
62
|
+
cXC: "cXC - booklets per group \n 0: all booklets one inside another, 1: all booklets side by side, or n: in groups of n booklets one inside another"
|
63
|
+
allPdfq: "The document has %{p} pages, but in %{s} sheets of %{nX}x%{nY} pages %{c} pages fit ¿use document's? (y/n)"
|
64
|
+
reduceq: "Last group of %{cXC} booklets will have an extra %{extra}p leftover. We can reduce it to %{n} booklets, thus only %{less} booklets would be leftover. ¿0K? (y/n)"
|
65
|
+
notexe: "%{x} not executable"
|
66
|
+
wknoexist: "working directory %{work} doesn't exist"
|
67
|
+
wknowrite: "wrking directory %{work} not writeable"
|
68
|
+
nopdf: "file %{entrada} is not a pdf"
|
69
|
+
notmine: "i don't own %{entrada}"
|
70
|
+
notafile: "%{entrada} not a file"
|
71
|
+
nofile: "you have specified no file"
|
72
|
+
exitnowrite: "output directory %{salida} not writeable"
|
data/lib/locales/es.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
es:
|
2
|
+
welcome: "- Bienvenido ser humano, leer es volar al centro de los tiempos... \n Dice :::impostor::0.9.4.5.1:::"
|
3
|
+
badunit: "La unidad de %{input} no es correcta."
|
4
|
+
bookletsq: "¿imponer en cuadernillos? (y/n)"
|
5
|
+
WnX: "No especificó ancho de Página pero sí ancho de Pliego y número de páginas por Pliego"
|
6
|
+
horizontalmente: "horizontalmente"
|
7
|
+
verticalmente: "verticalmente"
|
8
|
+
HnY: "No especificó alto de Página pero sí alto de Pliego y número de páginas por Pliego"
|
9
|
+
scale: "¿Confirma escalar %{tp} ? (y/n)"
|
10
|
+
excesscXC: "Al último grupo de %{cXC} cuadernillos le sobrarán %{p}p"
|
11
|
+
reducecXC: "Podemos reducirlo a %{nCuad} cuadernillos, así sobrarían %{sobranMenos}. ¿0K? (y/n)"
|
12
|
+
nPages: "nPáginas"
|
13
|
+
nSheets: "nPliegos"
|
14
|
+
dead: "::impostor:: se niega a trabajar"
|
15
|
+
end: "Colorín colorado..."
|
16
|
+
msg: "::::::::::::mensajes:::::::::::::"
|
17
|
+
params: ":::::::::::parámetros::::::::::::"
|
18
|
+
pwidth: "ancho página"
|
19
|
+
pheight: "alto página"
|
20
|
+
swidth: "ancho pliego"
|
21
|
+
sheight: "alto pliego"
|
22
|
+
info: "info"
|
23
|
+
warn: "Atención"
|
24
|
+
error: "ERROR"
|
25
|
+
nXCalc: "Se calcula nX (páginas por pliego horizontalmente) en base al ancho del pliego (W) y el de la página (w)"
|
26
|
+
wPCalc: "Se calcula W (ancho del pliego) en base al de la página (w) y la cantidad de páginas por pliego horizontalmente (nX)"
|
27
|
+
wCalc: "Se calcula w (ancho de la página) en base al del pliego (W) y la cantidad de páginas por pliego horizontalmente (nX)"
|
28
|
+
wRoyal: "Se toma el ancho real de la página"
|
29
|
+
wOnly: "Ha especificado w (ancho de página) pero no W (de pliego) ni nX (páginas por pliego horizontalmente)"
|
30
|
+
wPOnly: "Ha especificado W (ancho del pliego) pero no w (de página) ni nX (páginas por pliego horizontalmente)"
|
31
|
+
nXOnly: "Ha especificado nX (páginas por pliego horizontalmente) pero no ancho de página (w) ni de pliego (W)"
|
32
|
+
nothingH: "No ha especificado ni ancho de página (w), ancho de pliego (W), ni páginas por pliego horizontalmente (nX)"
|
33
|
+
noPageH: "No cabe ninguna página horizontalmente"
|
34
|
+
nYCalc: "Se calcula nY (páginas por pliego verticalmente) en base al alto del pliego (H) y el de la página (h)"
|
35
|
+
hPCalc: "Se calcula H (alto del pliego) en base al de la página (h) y la cantidad de páginas por pliego verticalmente (nY)"
|
36
|
+
hCalc: "Se calcula h (alto de la página) en base al del pliego (H) y la cantidad de páginas por pliego verticalmente (nY)"
|
37
|
+
hRoyal: "Se toma el alto real de la página"
|
38
|
+
hOnly: "Ha especificado h (alto de página) pero no H (de pliego) ni nY (páginas por pliego verticalmente)"
|
39
|
+
hPOnly: "Ha especificado H (alto del pliego) pero no h (de página) ni nY (páginas por pliego verticalmente)"
|
40
|
+
nYOnly: "Ha especificado nY (páginas por pliego verticalmente) pero no alto de página (h) ni de pliego (H)"
|
41
|
+
nothingV: "No ha especificado ni alto de página (h), alto de pliego (H), ni páginas por pliego verticalmente (nY)"
|
42
|
+
noPageV: "No cabe ninguna página verticalmente"
|
43
|
+
nPageCalc: "Se calcula el número de páginas a partir del número de pliegos y de la cantidad de páginas por pliego"
|
44
|
+
nSheetCalc: "Se calcula el número de pliegos a partir del número de páginas y de la cantidad de paginas por pliego"
|
45
|
+
nPagePdf: "Se usan todas las páginas del PDF"
|
46
|
+
nPageXL: "Está especificando más páginas de las que tiene el documento"
|
47
|
+
noPages: "No ha especificado número de páginas ni de pliegos"
|
48
|
+
allSheet: "Se toman los %{n} pliegos necesarios"
|
49
|
+
sheetXL: "Sobran %{n} pliegos"
|
50
|
+
sheetXS: "Faltan %{n} pliegos"
|
51
|
+
nXwwPno: "No caben %{nX} paginas de %{w} de ancho en un pliego de %{wP}"
|
52
|
+
wPXL: "Sobra %{n} de ancho"
|
53
|
+
nYhhPno: "No caben %{nY} paginas de %{h} de alto en un pliego de %{hP}"
|
54
|
+
hPXL: "Sobra %{n} de alto"
|
55
|
+
bookltsblink: "::::::::::cuadernillos:::::::::::\n"
|
56
|
+
bookltsxplain: "Ordenado en cuadernillos en "
|
57
|
+
nUpblink: "::::::::::::cut&Stack::::::::::::\n"
|
58
|
+
nUpxplain: "impuesto para Cut & Stack en "
|
59
|
+
s: "segundos"
|
60
|
+
sheetPair: "Como son cuadernillos lado y lado, los pliegos no pueden ser impares, se toman %{n}+1"
|
61
|
+
nXPair: "Los cuadernillos tienen que caber horizontalmente en números pares pero ud. especificó nX:%{nX}."
|
62
|
+
cXC: "cXC - cuadernillos por costura \n 0: todos unos dentro de otros, 1: todos uno al lado del otro, o n: de a n cuadernillos unos dentro de otros"
|
63
|
+
allPdfq: "El pdf tiene %{p} páginas, pero en %{s} pliegos de %{nX}x%{nY} caben %{c} páginas ¿usar las del pdf? (y/n)"
|
64
|
+
reduceq: "Al último grupo de %{cXC} cuadernillos le sobrarán %{extra}p podemos reducirlo a %{n} cuadernillos, asi sobrarían %{less}. ¿0K? (y/n)"
|
65
|
+
notexe: "%{x} no es ejecutable"
|
66
|
+
wknoexist: "el directorio de trabajo %{work} no existe"
|
67
|
+
wknowrite: "el directorio de trabajo %{work} no se puede escribir"
|
68
|
+
nopdf: "el archivo %{entrada} no es pdf"
|
69
|
+
notmine: "el archivo %{entrada} no es mio"
|
70
|
+
notafile: "%{entrada} no es un archivo"
|
71
|
+
nofile: "no ha especificado archivo a imponer"
|
72
|
+
exitnowrite: "el directorio de salida %{salida} no se puede escribir"
|
metadata
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imposition
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
9
|
- 4
|
10
|
-
-
|
11
|
-
|
12
|
-
version: 0.9.4.5.1
|
10
|
+
- 6
|
11
|
+
version: 0.9.4.6
|
13
12
|
platform: ruby
|
14
13
|
authors:
|
15
|
-
-
|
14
|
+
- numerico
|
16
15
|
autorequire:
|
17
16
|
bindir: bin
|
18
17
|
cert_chain: []
|
@@ -101,6 +100,8 @@ files:
|
|
101
100
|
- lib/imposition.rb
|
102
101
|
- lib/imposition/metodos.rb
|
103
102
|
- lib/imposition/clases.rb
|
103
|
+
- lib/locales/en.yml
|
104
|
+
- lib/locales/es.yml
|
104
105
|
- bin/impostor
|
105
106
|
homepage: http://impostor.herokuapp.com
|
106
107
|
licenses: []
|