1if not modules then modules = { } end modules ['m-bibles'] = {
2 version = 1.001,
3 comment = "companion to m-bibles.mkxl",
4 author = "Hans Hagen & Mikael Sundqvist",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9local tonumber = tonumber
10local context = context
11
12moduledata = moduledata or { }
13local bibles = { }
14moduledata.bibles = bibles
15
16bibles.books = {
17 english = {
18 "Genesis", "Exodus", "Leviticus", "Numbers", "Deuteronomy", "Joshua",
19 "Judges", "Ruth", "1 Samuel", "2 Samuel", "1 Kings", "2 Kings",
20 "1 Chronicles", "2 Chronicles", "Ezra", "Nehemiah", "Esther", "Job",
21 "Psalms", "Proverbs", "Ecclesiastes", "Song of Songs", "Isaiah",
22 "Jeremiah", "Lamentations", "Ezekiel", "Daniel", "Hosea", "Joel", "Amos",
23 "Obadiah", "Jonah", "Micah", "Nahum", "Habakkuk", "Zephaniah", "Haggai",
24 "Zechariah", "Malachi",
25
26 "Matthew", "Mark", "Luke", "John", "Acts", "Romans", "1 Corinthians",
27 "2 Corinthians", "Galatians", "Ephesians", "Philippians", "Colossians",
28 "1 Thessalonians", "2 Thessalonians", "1 Timothy", "2 Timothy", "Titus",
29 "Philemon", "Hebrews", "James", "1 Peter", "2 Peter", "1 John", "2 John",
30 "3 John", "Jude", "Revelation",
31 },
32 polish = {
33
34 "Rodzaxu", "Wyjścia", "Kapłańska", "Liczb", "Powtórzonego Prawa",
35 "Jozuego", "Sędziów", "Ruty", "1. Samuelowa", "2. Samuelowa",
36 "1. Królewska", "2. Królewska", "1. Kronik", "2. Kronik", "Ezdraszowa",
37 "Nehemijaszowa", "Estery", "Ijobowa", "Psalmów",
38 "Przypowieści Salomonowych", "Kaznodziei Salomona", "Pieśń Salomona",
39 "Izajasz", "Jeremijasz", "Treny Jeremijaszowe", "Ezechyjel",
40 "Danijel", "Ozeasza", "Joel", "Amos", "Abdyjasz", "Jonasz",
41 "Micheasz", "Nahum", "Abakuk", "Sofonijasz", "Aggieusz",
42 "Zacharyjasz", "Malachyjasz",
43
44 "Mateusza", "Marka", "Łukasza", "Jana", "Dzieje Apostolskie",
45 "Rzymian", "1. Koryntów", "2. Koryntów", "Galatów", "Efezów",
46 "Filipensów", "Kolosensów", "1. Tesalonicensów", "2. Tesalonicensów",
47 "1. Tymoteusza", "2. Tymoteusza", "Tytusa", "Filemona", "Żydów",
48 "Jakóba", "1. Piotra", "2. Piotra", "1. Jana", "2. Jana", "3. Jana",
49 "Judasa", "Objawienie Jana",
50 },
51 swedish = {
52 "Första Moseboken", "Andra Moseboken", "Tredje Moseboken",
53 "Fjärde Moseboken", "Femte Moseboken", "Josua", "Domarboken", "Rut",
54 "Första Samuelsboken", "Andra Samuelsboken", "Första Kungaboken",
55 "Andra Kungaboken", "Första Krönikeboken", "Andra Krönikeboken",
56 "Esra", "Nehemjah", "Ester", "Job", "Psaltaren", "Ordspråksboken",
57 "Predikaren", "Höga visan", "Jesaja", "Jeremia", "Klagovisorna",
58 "Hesekiel", "Daniel", "Hosea", "Joel", "Amos", "Obadja", "Jona",
59 "Mika", "Nahum", "Habackuk", "Sefanja", "Haggaj", "Sakarja",
60 "Malaki",
61
62 "Matteus", "Markus", "Lukas", "Johannes", "Apostlagärningarna",
63 "Romarbrevet", "Första Korinthierbrevet", "Andra Korinthierbrevet",
64 "Galaterbrevet", "Efesierbrevet", "Filipperbrevet", "Kolosserbrevet",
65 "Första Thessalonikerbrevet", "Andra Thessalonikerbrevet",
66 "Första Timotheosbrevet", "Andra Timotheosbrevet", "Titusbrevet",
67 "Filemonbrevet", "Hebreerbrevet", "Jakobsbrevet",
68 "Första Petrusbrevet", "Andra Petrusbrevet", "Första Johannesbrevet",
69 "Andra Johannesbrevet", "Tredje Johannesbrevet", "Judasbrevet",
70 "Uppenbarelseboken",
71 },
72 dutch = {
73 "Genesis", "Exodus", "Leviticus", "Numeri", "Deuteronomium", "Jozua",
74 "Rechters", "Ruth", "1 Samuel", "2 Samuel", "1 Koningen",
75 "2 Koningen", "1 Kronieken", "2 Kronieken", "Ezra", "Nehemia", "Ester",
76 "Job", "Psalmen", "Spreuken", "Prediker", "Hooglied", "Jesaja",
77 "Jeremia", "Klaagliederen", "Ezechiël", "Daniël", "Hosea", "Joël", "Amos",
78 "Obadja", "Jona", "Micha", "Nahum", "Habakuk", "Sefanja", "Haggai", "Zacharia",
79 "Maleachi",
80
81 "Matteüs", "Marcus", "Lucas", "Johannes", "Handelingen", "Romeinen",
82 "1 Korintiërs", "2 Korintiërs", "Galaten", "Efeziërs", "Filippenzen",
83 "Kolossenzen", "1 Tessalonicenzen", "2 Tessalonicenzen", "1 Timoteüs",
84 "2 Timoteüs", "Titus", "Filemon", "Hebreeën", "Jakobus", "1 Petrus",
85 "2 Petrus", "1 Johannes", "2 Johannes", "3 Johannes", "Judas",
86 "Openbaring van Johannes",
87 }
88}
89
90bibles.testaments = {
91 english = {
92 Old = "Old testament",
93 New = "New testament",
94 },
95 polish = {
96 Old = "Starego testamentu",
97 New = "Nowego testamentu",
98 },
99 swedish = {
100 Old = "Gamla testamentet",
101 New = "Nya testamentet",
102 },
103 dutch = {
104 Old = "Oude testament",
105 New = "Nieuwe testament",
106 },
107}
108
109table.setmetatableindex(bibles.books, bibles.books.english)
110table.setmetatableindex(bibles.testaments, bibles.testaments.english)
111
112bibles.biblefiles = table.setmetatableindex {
113 title = "Bible",
114 books = bibles.books.english,
115 testaments = bibles.testaments.english,
116 chapter = "Chapter",
117}
118
119bibles.biblefiles["EnglishKJBible.xml"] = {
120 filename = "EnglishKJBible.xml",
121 title = "English King James",
122 books = bibles.books.english,
123 testaments = bibles.testaments.english,
124 chapter = "Chapter",
125}
126
127bibles.biblefiles["PolishBible.xml"] = {
128 filename = "PolishBible.xml",
129 title = "Polish Biblia Warszawska 1975",
130 books = bibles.books.polish,
131 testaments = bibles.testaments.polish,
132 chapter = "Rozdział",
133}
134
135bibles.biblefiles["DutchBible.xml"] = {
136 filename = "DutchBible.xml",
137 title = "Nederlandse Statenvertaling",
138 books = bibles.books.dutch,
139 testaments = bibles.testaments.dutch,
140 chapter = "Hoofdstuk",
141}
142
143bibles.biblefiles["SwedishBible.xml"] = {
144 filename = "SwedishBible.xml",
145 title = "Svenska 1917",
146 books = bibles.books.swedish,
147 testaments = bibles.testaments.swedish,
148 chapter = "Kapitel",
149}
150
151bibles.biblefiles["HebrewBible.xml"] = {
152 filename = "HebrewBible.xml",
153 title = "Hebrew Bible Modern 1977",
154 books = bibles.books.hebrew,
155 books = bibles.books.english,
156 testaments = bibles.testaments.hebrew,
157 testaments = bibles.testaments.english,
158 chapter = "Chapter",
159}
160
161if context then
162
163 local biblefiles = bibles.biblefiles
164
165 interfaces.implement {
166 name = "BibleSetFile",
167 public = true,
168 arguments = "2 strings",
169 actions = function(bibleindex,biblefile)
170 biblefiles[bibleindex] = biblefiles[biblefile]
171 end
172 }
173
174 interfaces.implement {
175 name = "BibleFile",
176 public = true,
177 arguments = "string",
178 actions = function(bibleindex)
179
180 context(biblefiles[bibleindex].filename)
181 end
182 }
183
184 interfaces.implement {
185 name = "BibleTitleName",
186 public = true,
187 arguments = "string",
188 actions = function(biblefile)
189 context(biblefiles[biblefile].title)
190 end
191 }
192
193 interfaces.implement {
194 name = "BibleTestamentName",
195 public = true,
196 arguments = "2 strings",
197 actions = function(biblefile,biblename)
198 context(biblefiles[biblefile].testaments[biblename])
199 end
200 }
201
202 interfaces.implement {
203 name = "BibleBookName",
204 public = true,
205 arguments = "2 strings",
206 actions = function(biblefile,biblebook)
207 context(biblefiles[biblefile].books[tonumber(biblebook)])
208 end
209 }
210
211 interfaces.implement {
212 name = "BibleChapterName",
213 public = true,
214 arguments = "string",
215 actions = function(biblefile)
216 context(biblefiles[biblefile].chapter)
217 end
218 }
219
220end
221
222return bibles
223 |