html2slideshow 2.0
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.
- checksums.yaml +7 -0
- data/bin/html2slideshow +27 -0
- data/doc/changes.txt +162 -0
- data/doc/license.txt +674 -0
- data/lib/LANG +1 -0
- data/lib/about.rb +57 -0
- data/lib/argparser.rb +143 -0
- data/lib/completable.rb +157 -0
- data/lib/configurator.rb +155 -0
- data/lib/copyright.txt +22 -0
- data/lib/extstring.rb +75 -0
- data/lib/file_checking.rb +153 -0
- data/lib/html2slideshow.cfg +22 -0
- data/lib/html2slideshow.rb +132 -0
- data/lib/htmlbuilder.rb +267 -0
- data/lib/icons/failure.png +0 -0
- data/lib/icons/howto.png +0 -0
- data/lib/icons/logo.png +0 -0
- data/lib/icons/message.png +0 -0
- data/lib/icons/options.png +0 -0
- data/lib/icons/question.png +0 -0
- data/lib/icons/success.png +0 -0
- data/lib/image.rb +62 -0
- data/lib/list_fields.rb +34 -0
- data/lib/log.conf +60 -0
- data/lib/logging.rb +194 -0
- data/lib/slideshow_css.rb +248 -0
- data/lib/slideshow_images/downCursor.png +0 -0
- data/lib/slideshow_images/leftArrow.png +0 -0
- data/lib/slideshow_images/olive.png +0 -0
- data/lib/slideshow_images/pause.png +0 -0
- data/lib/slideshow_images/rightArrow.png +0 -0
- data/lib/slideshow_images/sizeMedium.png +0 -0
- data/lib/slideshow_images/sizeNormal.png +0 -0
- data/lib/slideshow_images/sizeSmall.png +0 -0
- data/lib/slideshow_images/start.png +0 -0
- data/lib/slideshow_images/stop.png +0 -0
- data/lib/slideshow_images/toggle.png +0 -0
- data/lib/slideshow_images/upCursor.png +0 -0
- data/lib/slideshow_js.rb +390 -0
- data/lib/slideshow_template.rb +194 -0
- data/lib/sourcefile.rb +191 -0
- data/lib/translating.rb +90 -0
- data/lib/translations +354 -0
- metadata +86 -0
data/lib/sourcefile.rb
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
=begin
|
4
|
+
/***************************************************************************
|
5
|
+
* Copyright © 2008-2012, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
6
|
+
* *
|
7
|
+
* This program is free software; you can redistribute it and/or modify *
|
8
|
+
* it under the terms of the GNU General Public License as published by *
|
9
|
+
* the Free Software Foundation; either version 3 of the License, or *
|
10
|
+
* (at your option) any later version. *
|
11
|
+
* *
|
12
|
+
* This program is distributed in the hope that it will be useful, *
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
15
|
+
* GNU General Public License for more details. *
|
16
|
+
* *
|
17
|
+
* You should have received a copy of the GNU General Public License *
|
18
|
+
* along with this program; if not, write to the *
|
19
|
+
* Free Software Foundation, Inc., *
|
20
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
21
|
+
***************************************************************************/
|
22
|
+
=end
|
23
|
+
|
24
|
+
RD = File.expand_path(File.dirname(__FILE__) ) + File::Separator if !defined?(RD)
|
25
|
+
|
26
|
+
|
27
|
+
require_relative 'extstring.rb'
|
28
|
+
require_relative 'image.rb'
|
29
|
+
require_relative 'file_checking'
|
30
|
+
require_relative 'logging'
|
31
|
+
|
32
|
+
=begin
|
33
|
+
SourceFile defines objects, which represent the original html-files,
|
34
|
+
to be processed by the slideshow-generator. Each SourceFile-object will
|
35
|
+
provide a few details about the contents and location of 1 such file.
|
36
|
+
=end
|
37
|
+
|
38
|
+
class SourceFile
|
39
|
+
self::extend(Logging)
|
40
|
+
@@log = self::init_logger
|
41
|
+
|
42
|
+
attr_reader :images, :dirname, :img_count, :title, :file_name, :file_ext
|
43
|
+
|
44
|
+
def initialize(path, options)
|
45
|
+
@log = @@log
|
46
|
+
@log.debug(format("initializing SourceFile for %s ", path)) if @log
|
47
|
+
@log.debug('options are ' << options.to_s)
|
48
|
+
|
49
|
+
@path = path
|
50
|
+
@formats = options.formats
|
51
|
+
|
52
|
+
# file extension
|
53
|
+
local = 'files' == options.source_type
|
54
|
+
@file_ext = ((local || options.merge) ? '.html' : File.extname(@path))
|
55
|
+
|
56
|
+
# file name without path or extension
|
57
|
+
@file_name = File.basename(@path.gsub("\\", '/'), @file_ext)
|
58
|
+
|
59
|
+
# directory where the original html-file is found
|
60
|
+
@dirname = File.dirname(@path)
|
61
|
+
|
62
|
+
# All references to image-files, found in the file
|
63
|
+
@images = Array.new
|
64
|
+
|
65
|
+
# number of images, found
|
66
|
+
@img_count = 0
|
67
|
+
|
68
|
+
# title of the original page
|
69
|
+
# or the final slide show file
|
70
|
+
@title = nil
|
71
|
+
@title = options.title if options.title && !options.title.empty?
|
72
|
+
|
73
|
+
@title.strip! if @title
|
74
|
+
|
75
|
+
# scan sub-directories (local image-files, only)
|
76
|
+
@recursive = options.recursive
|
77
|
+
@log.debug("recursive ? " << @recursive.to_s)
|
78
|
+
@log.debug(format("files from %s", (local ? 'directory' : 'html')) ) if @log
|
79
|
+
# read pages or files, analyze, set image-references and title
|
80
|
+
if(local)
|
81
|
+
read_dir
|
82
|
+
elsif(options.merge)
|
83
|
+
read_files
|
84
|
+
else
|
85
|
+
read_file
|
86
|
+
end
|
87
|
+
@log.debug("sourcefile initialized: " + @path) if @log
|
88
|
+
end
|
89
|
+
|
90
|
+
private
|
91
|
+
|
92
|
+
def read_files(p = @path)
|
93
|
+
dir_msg = File_Checking.file_check(p, [:exist?, :directory?, :readable?])
|
94
|
+
if (!dir_msg)
|
95
|
+
@title ||= File.basename(@path).strip
|
96
|
+
Dir.open(p) do |dir|
|
97
|
+
dir.each do |file|
|
98
|
+
@log.debug("testing #{file}") if @log
|
99
|
+
if(file.index('.') != 0 && file.downcase.end_with?('html') )
|
100
|
+
file = format("%s%s%s", p, File::Separator, file)
|
101
|
+
if (!File_Checking.file_check(file, [:file?, :readable?]))
|
102
|
+
read_file(file)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
else
|
108
|
+
@log.error(msg) if msg && @log
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
def read_dir(p = @path, dir_path = nil)
|
113
|
+
@log.debug(format("read_dir: %s ", p)) if @log
|
114
|
+
Dir.open(p) do |dir|
|
115
|
+
@log.debug('dir is ' << dir.path)
|
116
|
+
dir.each do |file_name|
|
117
|
+
path = File.expand_path(file_name, dir_path)
|
118
|
+
@log.debug('file_name ' << file_name << ', path is ' << path) if @log
|
119
|
+
msg = File_Checking.file_check(path, [:exist?, :file?, :readable?])
|
120
|
+
if(!msg)
|
121
|
+
msg ||= Image::supported?(path, @formats)
|
122
|
+
if(!msg)
|
123
|
+
img = Image.new(file_name)
|
124
|
+
images.push(img)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
if(@recursive)
|
128
|
+
msg = File_Checking.file_check(file_name, :exist?, :directory?, :readable?)
|
129
|
+
if(!msg && file_name && file_name != '.' && file_name != '..' )
|
130
|
+
@log.debug('recursively checking sub-directories')
|
131
|
+
@log.debug('decending into ' << path)
|
132
|
+
read_dir( path, p)
|
133
|
+
end # check if directory
|
134
|
+
end
|
135
|
+
end # all in path 'p'
|
136
|
+
end # Dir.open
|
137
|
+
@title ||= File.basename(@path) if !@images.empty?
|
138
|
+
@title.strip! if @title
|
139
|
+
@log.debug("found #{@images.size} images: " << @images.collect {|im| im.reference}.join(', ')) if @log
|
140
|
+
end
|
141
|
+
|
142
|
+
def read_file(f = @path)
|
143
|
+
@log.debug(format("working on file %s", f)) if @log
|
144
|
+
File.open(f, 'r') do |fp|
|
145
|
+
# order matters!
|
146
|
+
set_title(fp) if !@title
|
147
|
+
register_images(fp)
|
148
|
+
end
|
149
|
+
@img_count = @images.size
|
150
|
+
end
|
151
|
+
|
152
|
+
def set_title(fp)
|
153
|
+
otag = "<title.*"
|
154
|
+
ctag = "</title>"
|
155
|
+
while(!@title && fp.gets('>'))
|
156
|
+
ttag = $_.match(otag)
|
157
|
+
ttext = fp.gets(ctag) if ttag
|
158
|
+
@title = ttext[0, ttext.rindex(ctag)] if ttext
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
def register_images(fp)
|
163
|
+
while(fp.gets('>'))
|
164
|
+
url = $_.match("<a.*\n?.*\n?.*")
|
165
|
+
img = nil
|
166
|
+
if(url)
|
167
|
+
url = url.to_s
|
168
|
+
@log.debug(format("testing link %s", url)) if @log
|
169
|
+
@extensions = Image::FORMATS.keys.collect{|f| f.to_s}
|
170
|
+
@extensions.each do |ex|
|
171
|
+
img = url.to_s.match(/[\w\/]*.#{ex}/)
|
172
|
+
img = img.to_s.delete("\"") if img
|
173
|
+
@log.debug("testing image, result: #{img}") if img && @log
|
174
|
+
if(img && img.size > 0)
|
175
|
+
# img = dir.dup << img
|
176
|
+
image = Image.new(img)
|
177
|
+
@log.debug("result: #{image.to_s}") if image && @log
|
178
|
+
|
179
|
+
@images.push(image )
|
180
|
+
break
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
@log.debug(format("found %d references", @images.size)) if @log
|
186
|
+
@images.uniq!()
|
187
|
+
@log.debug(format("after uniq: %d", @images.size)) if @log
|
188
|
+
|
189
|
+
end
|
190
|
+
end
|
191
|
+
#---------------------------
|
data/lib/translating.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
=begin
|
3
|
+
/***************************************************************************
|
4
|
+
* ©2011-2017, Michael Uplawski <michael.uplawski@uplawski.eu> *
|
5
|
+
* *
|
6
|
+
* This program is free software; you can redistribute it and/or modify *
|
7
|
+
* it under the terms of the GNU General Public License as published by *
|
8
|
+
* the Free Software Foundation; either version 3 of the License, or *
|
9
|
+
* (at your option) any later version. *
|
10
|
+
* *
|
11
|
+
* This program is distributed in the hope that it will be useful, *
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
14
|
+
* GNU General Public License for more details. *
|
15
|
+
* *
|
16
|
+
* You should have received a copy of the GNU General Public License *
|
17
|
+
* along with this program; if not, write to the *
|
18
|
+
* Free Software Foundation, Inc., *
|
19
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
20
|
+
***************************************************************************/
|
21
|
+
=end
|
22
|
+
|
23
|
+
|
24
|
+
RD = File.expand_path(File.dirname(__FILE__) ) + File::SEPARATOR if !defined?(RD)
|
25
|
+
|
26
|
+
require 'yaml'
|
27
|
+
require_relative 'file_checking'
|
28
|
+
|
29
|
+
|
30
|
+
# A way to produce translated text in a ruby-program.
|
31
|
+
# Translations are read from a file "translations" in the program folder.
|
32
|
+
module Translating
|
33
|
+
# There are better ways to extend a translated
|
34
|
+
# string, but I keep the 'wild-card' for
|
35
|
+
# historical reasons.
|
36
|
+
# TODO: GET RID OF THIS CRAP
|
37
|
+
@@awild = 'XX'
|
38
|
+
|
39
|
+
@@lang = nil
|
40
|
+
@@lang_file = format("%s%s", RD, 'LANG')
|
41
|
+
@@tr = YAML::load_file("#{RD}translations")
|
42
|
+
|
43
|
+
# find the current language-setting and return it.
|
44
|
+
def self.language()
|
45
|
+
if @@lang == nil
|
46
|
+
r = ENV['LANG']
|
47
|
+
if(r)
|
48
|
+
@@lang = r[0, 2]
|
49
|
+
elsif( !File_Checking::file_check(@@lang_file, [:exist?, :readable?]) && File::size(@@lang_file) >= 2)
|
50
|
+
File::open(@@lang_file, 'r') {|f| @@lang = f.readline}
|
51
|
+
@@lang.chomp!.downcase! if @@lang
|
52
|
+
end
|
53
|
+
end
|
54
|
+
@@lang = 'en' if !@@lang
|
55
|
+
end
|
56
|
+
|
57
|
+
# Translate a string to the currently set langage. The args parameter may
|
58
|
+
# contain replacement-text which will appear at the positions indicated by
|
59
|
+
# wildcard-characters in the original string (DARN).
|
60
|
+
# This is for historical reasons. The format() function is much better suited
|
61
|
+
# to extend plaintext messages.
|
62
|
+
def self.trl(t, *args)
|
63
|
+
Translating::language()
|
64
|
+
lt = @@tr[t]
|
65
|
+
if(lt)
|
66
|
+
lt = lt[@@lang]
|
67
|
+
else
|
68
|
+
# File.open('/tmp/mtf', 'a+') {|f| f << t << "\n"}
|
69
|
+
puts "\nTRANSLATION MISSING: \"" << t << "\""
|
70
|
+
end
|
71
|
+
lt ||= t
|
72
|
+
if(args && !args.empty?)
|
73
|
+
i = -1
|
74
|
+
lt = lt.gsub(@@awild) do |a|
|
75
|
+
i += 1
|
76
|
+
args.flatten[i]
|
77
|
+
end
|
78
|
+
lt += args[i + 1, args.length].join
|
79
|
+
end
|
80
|
+
return lt
|
81
|
+
end
|
82
|
+
|
83
|
+
# Translate a string to the currently set langage.
|
84
|
+
# The args parameter may contain replacement-text which
|
85
|
+
# will appear at the positions indicated by wildcard-characters
|
86
|
+
# in the original string.
|
87
|
+
def trl(t, *args )
|
88
|
+
Translating::trl(t, args)
|
89
|
+
end
|
90
|
+
end
|
data/lib/translations
ADDED
@@ -0,0 +1,354 @@
|
|
1
|
+
ERROR:
|
2
|
+
de: FEHLER
|
3
|
+
fr: ERREUR
|
4
|
+
|
5
|
+
Source-directory:
|
6
|
+
de: Quellverzeichnis
|
7
|
+
fr: Dosssier source
|
8
|
+
|
9
|
+
No source-directory given.:
|
10
|
+
de: Kein HTML-Quellverzeichnis angegeben.
|
11
|
+
fr: Veuillez indiquer le dossier sources HTML.
|
12
|
+
|
13
|
+
is not supported, wrong mime-type:
|
14
|
+
de: wird nicht unterstützt, verkehrter Mime-Type
|
15
|
+
fr: Le Mime-Type n'est pas supporté
|
16
|
+
|
17
|
+
DONE:
|
18
|
+
fr: Terminé
|
19
|
+
de: Fertig
|
20
|
+
|
21
|
+
sec:
|
22
|
+
fr: sec
|
23
|
+
de: sek
|
24
|
+
|
25
|
+
Start:
|
26
|
+
fr: Start
|
27
|
+
de: Start
|
28
|
+
|
29
|
+
Image:
|
30
|
+
fr: Image
|
31
|
+
de: Bild
|
32
|
+
|
33
|
+
Specific options:
|
34
|
+
fr: Options spécifiques
|
35
|
+
de: Spezielle Optionen
|
36
|
+
|
37
|
+
-d:
|
38
|
+
fr: -d
|
39
|
+
de: -d
|
40
|
+
|
41
|
+
debug [true|FALSE]:
|
42
|
+
fr: --debug[true|FALSE]
|
43
|
+
de: --debug[true|FALSE]
|
44
|
+
|
45
|
+
Switch on debug-mode.:
|
46
|
+
fr: Activer le protocole.
|
47
|
+
de: Debug-Modus aktivieren.
|
48
|
+
|
49
|
+
Will generate log-messages during processing:
|
50
|
+
fr: Le logiciel va afficher des messages pendant l'exécution
|
51
|
+
de: Während der Verarbeitung werden Protokollmeldungen ausgegeben
|
52
|
+
|
53
|
+
-f:
|
54
|
+
fr: -f
|
55
|
+
de: -f
|
56
|
+
|
57
|
+
formats:
|
58
|
+
fr: formats
|
59
|
+
de: Formate
|
60
|
+
|
61
|
+
specify the comma-separated list of image formats,:
|
62
|
+
fr: indiquez une liste de formats, séparés par comma,
|
63
|
+
de: Geben Sie eine komma-separierte Liste von Bildformaten an,
|
64
|
+
|
65
|
+
which should be used, others will be ignored.:
|
66
|
+
fr: qui doivent être utilisés. D'autres sont ignorés.
|
67
|
+
de: die benutzt werden sollen; andere werden ignoriert.
|
68
|
+
|
69
|
+
-l:
|
70
|
+
fr: -l
|
71
|
+
de: -l
|
72
|
+
|
73
|
+
local:
|
74
|
+
fr: local
|
75
|
+
de: lokal
|
76
|
+
|
77
|
+
|
78
|
+
Collect the image-files from the source-directory:
|
79
|
+
fr: Les images sont des fichiers dans le répertoire de source
|
80
|
+
de: Verwende die Bilddateien aus dem Quellverzeichnis
|
81
|
+
|
82
|
+
(if not provided, HTML-files are analyzed):
|
83
|
+
fr: (sinon, des fichiers HTML sont analysés)
|
84
|
+
de: (anderenfalls werden HTML-Dateien analysiert)
|
85
|
+
|
86
|
+
-r:
|
87
|
+
fr: -r
|
88
|
+
de: -r
|
89
|
+
|
90
|
+
recursive:
|
91
|
+
fr: récursif
|
92
|
+
de: rekursiv
|
93
|
+
|
94
|
+
When collecting image-files from the source-directory,:
|
95
|
+
fr: Si les images sont trouvés dans le répertoire de source,
|
96
|
+
de: Wenn die Bilddateien im Quellverszeichnis liegen,
|
97
|
+
|
98
|
+
also include the sub-directories.:
|
99
|
+
fr: traverse aussi les sous-répertoires
|
100
|
+
de: lies auch die Unterverzeichnisse
|
101
|
+
|
102
|
+
Usage:
|
103
|
+
fr: Syntaxe
|
104
|
+
de: Aufrufsyntax
|
105
|
+
|
106
|
+
or:
|
107
|
+
fr: ou
|
108
|
+
de: oder
|
109
|
+
|
110
|
+
-s:
|
111
|
+
fr: -s
|
112
|
+
de: -q
|
113
|
+
|
114
|
+
source SOURCE DIR:
|
115
|
+
fr: source RÉPERTOIRE SOURCE
|
116
|
+
de: quelle QUELLVERZEICHNIS
|
117
|
+
|
118
|
+
Read HTML source-files from this directory:
|
119
|
+
fr: Lis les fichiers HTML dans le répertoire de source
|
120
|
+
de: Lies die HTML-Dateien im Quellverzechnis
|
121
|
+
|
122
|
+
-t:
|
123
|
+
fr: -p
|
124
|
+
de: -z
|
125
|
+
|
126
|
+
target [TARGET DIR]:
|
127
|
+
fr: projet [Répertoire du Diaporama]
|
128
|
+
de: ziel [Zielverzeichnis]
|
129
|
+
|
130
|
+
Write slideshow-files to this sub-directory:
|
131
|
+
fr: sauvegarde les diaporamas dans ce sous-répertoire
|
132
|
+
de: Schreibe die Diashow-Dateien in dieses Unterverzeichnis
|
133
|
+
|
134
|
+
(if not provided, SOURCE DIR is used):
|
135
|
+
fr: (sinon, le répertoire de source est utilisé)
|
136
|
+
de: (anderenfalls wird das Quellverzeichnis verwendet)
|
137
|
+
|
138
|
+
Common options:
|
139
|
+
fr: Options généraux
|
140
|
+
de: Allgemeine Optionen
|
141
|
+
|
142
|
+
-h:
|
143
|
+
fr: -a
|
144
|
+
de: -h
|
145
|
+
|
146
|
+
help:
|
147
|
+
fr: aide
|
148
|
+
de: Hilfe
|
149
|
+
|
150
|
+
Show this message:
|
151
|
+
fr: Afficher ce message
|
152
|
+
de: Diese Meldung anzeigen
|
153
|
+
|
154
|
+
version:
|
155
|
+
fr: version
|
156
|
+
de: Version
|
157
|
+
|
158
|
+
Show version:
|
159
|
+
fr: Affiche version
|
160
|
+
de: Version anzeigen
|
161
|
+
|
162
|
+
# Tooltips
|
163
|
+
########################################
|
164
|
+
Path to the source-files:
|
165
|
+
de: Pfad zu den Quelldateien
|
166
|
+
fr: Chemin des fichiers sources
|
167
|
+
|
168
|
+
Include sub-directories in the search for images:
|
169
|
+
de: Unterverzeichnisse bei der Suche nach Bildern einschließen
|
170
|
+
fr: Chercher des images aussi dans les sous-dossiers
|
171
|
+
|
172
|
+
Choose a source-directory:
|
173
|
+
de: Ein Quellverzeichnis wählen
|
174
|
+
fr: Choisir le dossier des sources
|
175
|
+
|
176
|
+
Start generating the slide show(s):
|
177
|
+
de: Diashow(s) generieren
|
178
|
+
fr: Demarrer la création des diaporamas
|
179
|
+
|
180
|
+
Quit Html2Slideshow:
|
181
|
+
de: Html2Slideshow beenden
|
182
|
+
fr: Quitter Html2Slideshow
|
183
|
+
|
184
|
+
About Html2Slideshow:
|
185
|
+
de: Über Html2Slideshow
|
186
|
+
fr: A propos de Html2Slideshow
|
187
|
+
|
188
|
+
Path to the generated slide show(s):
|
189
|
+
de: Pfad zu den generierten Diashows
|
190
|
+
fr: Chemin du dossier pour le(s) diaporama(s)
|
191
|
+
|
192
|
+
Back to the general options:
|
193
|
+
de: Zurück zu den allgemeinen Einstellungen
|
194
|
+
fr: Retour à la configuration principale
|
195
|
+
|
196
|
+
Path and name of the log-file:
|
197
|
+
de: Pfad und name der Log-Datei
|
198
|
+
fr: Chemin et nom du fichier de protocole
|
199
|
+
|
200
|
+
Toggle to write or stop writing to the log-file:
|
201
|
+
de: Schreiben der Protokolldatein ein- und ausschalten
|
202
|
+
fr: Activer ou déactiver la création du protocole
|
203
|
+
|
204
|
+
Activate image-formats to include in the slide show:
|
205
|
+
de: Bildformate auswählen, die berücksichtigt werden sollen
|
206
|
+
fr: Choisissez les formats graphiques à inclure dans les diaporamas
|
207
|
+
|
208
|
+
Use the image-files, found in the source-folder:
|
209
|
+
de: Bilddateien direkt dem Quellverzeichnis entnehmen
|
210
|
+
fr: Les fichiers graphiques sont lus directement du dossiers des sources
|
211
|
+
|
212
|
+
Use the images, which are linked in HTML-files:
|
213
|
+
de: Bildverweise aus HTML-Dateien verwenden
|
214
|
+
fr: Les chemins des images sont extraits des fichiers HTML
|
215
|
+
|
216
|
+
file-names should match this regular expression:
|
217
|
+
de: Dateinamen der Bilder sollen diesem regulären Ausdruck entsprechen
|
218
|
+
fr: Expression regulaire pour filtrer les noms des fichiers
|
219
|
+
|
220
|
+
Create only one slide show file from several HTML source-files:
|
221
|
+
de: Nur eine Diashow-Datei aus mehreren HTML Quelldateien
|
222
|
+
fr: Tous les fichiers HTML seront fusionnés dans un seul diaporama
|
223
|
+
|
224
|
+
Title of the slide show file:
|
225
|
+
de: Titel der Diashow
|
226
|
+
fr: Titre du diaporama
|
227
|
+
|
228
|
+
# Special characters needed for the surface!
|
229
|
+
# JavaScript needs the escape-sequences
|
230
|
+
#######################################
|
231
|
+
You have reached the last picture:
|
232
|
+
de: Sie haben das letzte Bild erreicht.
|
233
|
+
fr: Vous %EAtes arriv%E9 %E0 la derni%E8re image
|
234
|
+
|
235
|
+
You have reached the first picture:
|
236
|
+
de: Sie haben das erste Bild erreicht.
|
237
|
+
fr: Vous %EAtes arriv%E9 %E0 la premi%E8re image
|
238
|
+
|
239
|
+
Image:
|
240
|
+
de: Bild
|
241
|
+
fr: Image
|
242
|
+
|
243
|
+
Continue slideshow:
|
244
|
+
de: Diashow fortsetzen
|
245
|
+
fr: Continuer le diaporama
|
246
|
+
|
247
|
+
Stop the automatic slideshow:
|
248
|
+
de: Automatische Diashow anhalten
|
249
|
+
fr: Arr%EAter le diaporama automatique
|
250
|
+
|
251
|
+
In the Internet-Explorer, the slideshow may suffer from display-errors.:
|
252
|
+
de: Im Internet-Explorer kommt es leider zu Darstellungsfehlern.
|
253
|
+
fr: Avec Internet-Explorer, la pr%E9sentation du diaporama peut %EAtre pertub%E9.
|
254
|
+
|
255
|
+
Please switch to a standard-complient browser until these issues are solved.:
|
256
|
+
de: Bitte weichen Sie auf einen standard-konformen Browser aus, bis diese Fehler beseitigt sind.
|
257
|
+
fr: Veuillez-utiliser un autre logiciel en attendant la correction de ces erreurs.
|
258
|
+
|
259
|
+
# Special characters needed for the surface!
|
260
|
+
# HTML needs HTML-entities.
|
261
|
+
#######################################
|
262
|
+
|
263
|
+
This page will only work, when your browser is configured to use JavaScript.:
|
264
|
+
de: Diese Seite funktioniert leider nur, wenn JavaScript in Ihrem Browser aktiviert ist.
|
265
|
+
fr: Cette page va fonctionner seulement si votre Browser est configuré pour executer JavaScript.
|
266
|
+
|
267
|
+
Click the back-button to return to the previous page or go directly to the:
|
268
|
+
de: Klicken Sie den Zurück-Button, um zur vorigen Seite zu gelangen, oder öffenen Sie direkt die
|
269
|
+
fr: Clickez sur le bouton "retour" pour revenir à la page précédente ou allez directement à la
|
270
|
+
|
271
|
+
Back to the welcome page:
|
272
|
+
de: Zurück zur Startseite
|
273
|
+
fr: Retour à la page de d'acceuil
|
274
|
+
|
275
|
+
welcome page:
|
276
|
+
de: Startseite
|
277
|
+
fr: page d'acceuil
|
278
|
+
|
279
|
+
toggle controls:
|
280
|
+
de: Steuerelemente ein- oder ausblenden
|
281
|
+
fr: afficher/masquer la colonne de commandes
|
282
|
+
|
283
|
+
start (again) automatic slideshow:
|
284
|
+
de: automatische Diashow (neu) starten
|
285
|
+
fr: démarrer (de nouveau) le diaporama automatique
|
286
|
+
|
287
|
+
Run:
|
288
|
+
de: Start
|
289
|
+
fr: Démarrer
|
290
|
+
|
291
|
+
stop the automatic slideshow:
|
292
|
+
de: automatische Diashow stoppen
|
293
|
+
fr: arrêter le diaporama automatique
|
294
|
+
|
295
|
+
Stop:
|
296
|
+
de: Stopp
|
297
|
+
fr: Stop
|
298
|
+
|
299
|
+
pause the automatic slideshow:
|
300
|
+
de: automatische Diashow anhalten
|
301
|
+
fr: pause
|
302
|
+
|
303
|
+
Pause:
|
304
|
+
de: Pause
|
305
|
+
fr: Pause
|
306
|
+
|
307
|
+
forward after:
|
308
|
+
de: weiter nach
|
309
|
+
fr: délai
|
310
|
+
|
311
|
+
sec.:
|
312
|
+
de: Sek.
|
313
|
+
fr: sec.
|
314
|
+
|
315
|
+
time span for each picture:
|
316
|
+
de: Anzeigedauer für jedes Bild
|
317
|
+
fr: durée d'affichage pour chaque image
|
318
|
+
|
319
|
+
more time:
|
320
|
+
de: mehr Zeit
|
321
|
+
fr: plus de temps
|
322
|
+
|
323
|
+
less time:
|
324
|
+
de: weniger Zeit
|
325
|
+
fr: moins de temps
|
326
|
+
|
327
|
+
next/previous:
|
328
|
+
de: vor/zurück
|
329
|
+
fr: avance/retour
|
330
|
+
|
331
|
+
previous picture (please allow time for loading):
|
332
|
+
de: voriges Bild (bitte Ladezeit abwarten)
|
333
|
+
fr: image précédante (l'affichage de l'image peut prendre quelques secondes)
|
334
|
+
|
335
|
+
scale to normal size:
|
336
|
+
de: Bild in Originalgröße
|
337
|
+
fr: Image en taille originale
|
338
|
+
|
339
|
+
scale to alternative large size:
|
340
|
+
de: Bild auf alternativen, großen Maßstab dimensionieren
|
341
|
+
fr: Dimensionner à la grande échelle alternative
|
342
|
+
|
343
|
+
scale to alternative small size:
|
344
|
+
de: Bild auf alternativen, kleinen Maßstab dimensionieren
|
345
|
+
fr: Dimensionner à la petite échelle alternative
|
346
|
+
|
347
|
+
next picture (please allow time for loading):
|
348
|
+
de: nächstes Bild (bitte Ladezeit abwarten)
|
349
|
+
fr: prochaine image (l'affichage de l'image peut prendre quelques secondes)
|
350
|
+
|
351
|
+
Please allow for longer loading-times during the very first cycle.:
|
352
|
+
de: Beim allerersten Durchlauf längere Ladezeiten abwarten.
|
353
|
+
fr: Pendant le premier passage, prévoyez plus de temps pour le chargement des images
|
354
|
+
|