bible_ref 2.0.0 → 2.1.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -0
  3. data/lib/bible_ref/languages/SOURCES.md +35 -0
  4. data/lib/bible_ref/languages/arabic.rb +82 -0
  5. data/lib/bible_ref/languages/base.rb +5 -0
  6. data/lib/bible_ref/languages/cherokee.rb +29 -27
  7. data/lib/bible_ref/languages/chinese.rb +68 -66
  8. data/lib/bible_ref/languages/chinese_simplified.rb +79 -0
  9. data/lib/bible_ref/languages/czech.rb +68 -66
  10. data/lib/bible_ref/languages/danish.rb +79 -0
  11. data/lib/bible_ref/languages/dutch.rb +79 -0
  12. data/lib/bible_ref/languages/english.rb +86 -84
  13. data/lib/bible_ref/languages/finnish.rb +79 -0
  14. data/lib/bible_ref/languages/german.rb +79 -0
  15. data/lib/bible_ref/languages/hebrew.rb +52 -0
  16. data/lib/bible_ref/languages/hungarian.rb +79 -0
  17. data/lib/bible_ref/languages/italian.rb +81 -0
  18. data/lib/bible_ref/languages/japanese.rb +79 -0
  19. data/lib/bible_ref/languages/korean.rb +79 -0
  20. data/lib/bible_ref/languages/latin.rb +68 -66
  21. data/lib/bible_ref/languages/norwegian.rb +79 -0
  22. data/lib/bible_ref/languages/polish.rb +79 -0
  23. data/lib/bible_ref/languages/portuguese.rb +68 -66
  24. data/lib/bible_ref/languages/romanian.rb +68 -66
  25. data/lib/bible_ref/languages/russian.rb +86 -84
  26. data/lib/bible_ref/languages/spanish.rb +279 -0
  27. data/lib/bible_ref/languages/swahili.rb +79 -0
  28. data/lib/bible_ref/languages/swedish.rb +79 -0
  29. data/lib/bible_ref/languages/tagalog.rb +79 -0
  30. data/lib/bible_ref/languages/vietnamese.rb +79 -0
  31. data/lib/bible_ref/languages.rb +39 -3
  32. data/lib/bible_ref/parser.rb +5 -1
  33. data/lib/bible_ref/reference.rb +2 -4
  34. data/lib/bible_ref/version.rb +1 -1
  35. metadata +21 -2
@@ -0,0 +1,79 @@
1
+ require_relative 'base'
2
+
3
+ # Book names and aliases: see SOURCES.md.
4
+ module BibleRef
5
+ module Languages
6
+ class Swahili < Base
7
+ def books
8
+ {
9
+ 'GEN' => { name: 'Mwanzo', match: /\A(?:Mwanzo|Mwa|1\ Mose)\.?\z/i },
10
+ 'EXO' => { name: 'Kutoka', match: /\A(?:Kutoka|Kut|2\ Mose)\.?\z/i },
11
+ 'LEV' => { name: 'Walawi', match: /\A(?:Walawi|Law|Mambo\ ya\ Walawi|3\ Mose|Lawi)\.?\z/i },
12
+ 'NUM' => { name: 'Hesabu', match: /\A(?:Hesabu|Hes|4\ Mose)\.?\z/i },
13
+ 'DEU' => { name: 'Kumbukumbu', match: /\A(?:Kumbukumbu|Kum|Kumbukumbu\ la\ Sheria|Kumbukumbu\ la\ Torati|5\ Mose|Kumb)\.?\z/i },
14
+ 'JOS' => { name: 'Yoshua', match: /\A(?:Yoshua|Yos|Yosua|Yosh)\.?\z/i },
15
+ 'JDG' => { name: 'Waamuzi', match: /\A(?:Waamuzi|Amu)\.?\z/i },
16
+ 'RUT' => { name: 'Ruthu', match: /\A(?:Ruthu|Rut|Ruti)\.?\z/i },
17
+ '1SA' => { name: '1 Samweli', match: /\A(?:1\ Samweli|1\ Sam|1\ Samueli|1Samweli|1Sam)\.?\z/i },
18
+ '2SA' => { name: '2 Samweli', match: /\A(?:2\ Samweli|2\ Sam|2\ Samueli|2Samweli|2Sam)\.?\z/i },
19
+ '1KI' => { name: '1 Wafalme', match: /\A(?:1\ Wafalme|1\ Fal|1Fal)\.?\z/i },
20
+ '2KI' => { name: '2 Wafalme', match: /\A(?:2\ Wafalme|2\ Fal|2Fal)\.?\z/i },
21
+ '1CH' => { name: '1 Mambo ya Nyakati', match: /\A(?:1\ Mambo\ ya\ Nyakati|1\ Nya|1\ Nyakati|1\ Mambo|1Nya)\.?\z/i },
22
+ '2CH' => { name: '2 Mambo ya Nyakati', match: /\A(?:2\ Mambo\ ya\ Nyakati|2\ Nya|2\ Nyakati|2\ Mambo|2Nya)\.?\z/i },
23
+ 'EZR' => { name: 'Ezra', match: /\A(?:Ezra|Ezr|Ezera)\.?\z/i },
24
+ 'NEH' => { name: 'Nehemia', match: /\A(?:Nehemia|Neh)\.?\z/i },
25
+ 'EST' => { name: 'Esta', match: /\A(?:Esta|Es|Esteri|Est)\.?\z/i },
26
+ 'JOB' => { name: 'Ayubu', match: /\A(?:Ayubu|Ay|Iyobu|Yobu|Ayu|Iy)\.?\z/i },
27
+ 'PSA' => { name: 'Zaburi', match: /\A(?:Zaburi|Zab|Mashangilio|Sh|Za)\.?\z/i },
28
+ 'PRO' => { name: 'Mithali', match: /\A(?:Mithali|Mit|Methali|Mifano|Fano|Meth)\.?\z/i },
29
+ 'ECC' => { name: 'Mhubiri', match: /\A(?:Mhubiri|Mhu|Mpiga\ mbiu|Mbiu)\.?\z/i },
30
+ 'SNG' => { name: 'Wimbo Ulio Bora', match: /\A(?:Wimbo\ Ulio\ Bora|Wim|Wimbo\ mkuu|Imbo|Wimbo)\.?\z/i },
31
+ 'ISA' => { name: 'Isaya', match: /\A(?:Isaya|Isa|Yesaya|Yes)\.?\z/i },
32
+ 'JER' => { name: 'Yeremia', match: /\A(?:Yeremia|Yer)\.?\z/i },
33
+ 'LAM' => { name: 'Maombolezo', match: /\A(?:Maombolezo|Omb|Mao)\.?\z/i },
34
+ 'EZK' => { name: 'Ezekieli', match: /\A(?:Ezekieli|Eze|Ez)\.?\z/i },
35
+ 'DAN' => { name: 'Danieli', match: /\A(?:Danieli|Dan)\.?\z/i },
36
+ 'HOS' => { name: 'Hosea', match: /\A(?:Hosea|Hos)\.?\z/i },
37
+ 'JOL' => { name: 'Yoeli', match: /\A(?:Yoeli|Yoe)\.?\z/i },
38
+ 'AMO' => { name: 'Amosi', match: /\A(?:Amosi|Amo)\.?\z/i },
39
+ 'OBA' => { name: 'Obadia', match: /\A(?:Obadia|Oba)\.?\z/i },
40
+ 'JON' => { name: 'Yona', match: /\A(?:Yona|Yon)\.?\z/i },
41
+ 'MIC' => { name: 'Mika', match: /\A(?:Mika|MiK)\.?\z/i },
42
+ 'NAM' => { name: 'Nahumu', match: /\A(?:Nahumu|Nah)\.?\z/i },
43
+ 'HAB' => { name: 'Habakuki', match: /\A(?:Habakuki|Hab)\.?\z/i },
44
+ 'ZEP' => { name: 'Sefania', match: /\A(?:Sefania|Sef)\.?\z/i },
45
+ 'HAG' => { name: 'Hagai', match: /\A(?:Hagai|Hag)\.?\z/i },
46
+ 'ZEC' => { name: 'Zekaria', match: /\A(?:Zekaria|Zek|Zakaria|Zak)\.?\z/i },
47
+ 'MAL' => { name: 'Malaki', match: /\A(?:Malaki|Mal)\.?\z/i },
48
+ 'MAT' => { name: 'Mathayo', match: /\A(?:Mathayo|Mt|Mattayo\ Mt|Mateo|Mat)\.?\z/i },
49
+ 'MRK' => { name: 'Marko', match: /\A(?:Marko|Mk|Marko\ Mt|Mar)\.?\z/i },
50
+ 'LUK' => { name: 'Luka', match: /\A(?:Luka|Lk|Luka\ Mt|Luk)\.?\z/i },
51
+ 'JHN' => { name: 'Yohana', match: /\A(?:Yohana|Yn|Yohana\ Mt|Yohane|Yoh|Yh)\.?\z/i },
52
+ 'ACT' => { name: 'Matendo', match: /\A(?:Matendo|Mdo|Matendo\ ya\ Mitume|Tume|Mate)\.?\z/i },
53
+ 'ROM' => { name: 'Warumi', match: /\A(?:Warumi|Rum|waRoma|Rom)\.?\z/i },
54
+ '1CO' => { name: '1 Wakorintho', match: /\A(?:1\ Wakorintho|1\ Kor|1\ Wakorinto|1Kor)\.?\z/i },
55
+ '2CO' => { name: '2 Wakorintho', match: /\A(?:2\ Wakorintho|2\ Kor|2\ Wakorinto|2Kor)\.?\z/i },
56
+ 'GAL' => { name: 'Wagalatia', match: /\A(?:Wagalatia|Gal)\.?\z/i },
57
+ 'EPH' => { name: 'Waefeso', match: /\A(?:Waefeso|Efe|Ef)\.?\z/i },
58
+ 'PHP' => { name: 'waFilipi', match: /\A(?:waFilipi|Flp|Fil)\.?\z/i },
59
+ 'COL' => { name: 'Wakolosai', match: /\A(?:Wakolosai|Kol|Wakolossai|Wakolose)\.?\z/i },
60
+ '1TH' => { name: '1 Wathesalonike', match: /\A(?:1\ Wathesalonike|1\ The|1\ Wathessaloniki|1\ Watesalonike|1\ Tes|1\ Thes|1The)\.?\z/i },
61
+ '2TH' => { name: '2 Wathesalonike', match: /\A(?:2\ Wathesalonike|2\ The|2\ Wathessaloniki|2\ Watesalonike|2\ Tes|2\ Thes|2The)\.?\z/i },
62
+ '1TI' => { name: '1 Timotheo', match: /\A(?:1\ Timotheo|1\ Tim|1\ Timoteo|1Timotheo|1Tim)\.?\z/i },
63
+ '2TI' => { name: '2 Timotheo', match: /\A(?:2\ Timotheo|2\ Tim|2\ Timoteo|2Timotheo|2Tim)\.?\z/i },
64
+ 'TIT' => { name: 'Tito', match: /\A(?:Tito|Tit)\.?\z/i },
65
+ 'PHM' => { name: 'Filemoni', match: /\A(?:Filemoni|Flm|Filemon|File)\.?\z/i },
66
+ 'HEB' => { name: 'Waebrania', match: /\A(?:Waebrania|Ebr|Waraka\ kwa\ Waebrania|Waebureo)\.?\z/i },
67
+ 'JAS' => { name: 'Yakobo', match: /\A(?:Yakobo|Yak)\.?\z/i },
68
+ '1PE' => { name: '1 Petro', match: /\A(?:1\ Petro|1\ Pet|1\ Petero|1\ Petr|1Petro|1Pet)\.?\z/i },
69
+ '2PE' => { name: '2 Petro', match: /\A(?:2\ Petro|2\ Pet|2\ Petero|2\ Petr|2Petro|2Pet)\.?\z/i },
70
+ '1JN' => { name: '1 Yohana', match: /\A(?:1\ Yohana|1\ Yoh|1Yohana|1Yn|1\ Yohane)\.?\z/i },
71
+ '2JN' => { name: '2 Yohana', match: /\A(?:2\ Yohana|2\ Yoh|2Yohana|2Yn|2\ Yohane)\.?\z/i },
72
+ '3JN' => { name: '3 Yohana', match: /\A(?:3\ Yohana|3\ Yoh|3\ Yohane|3Yohana|3Yn)\.?\z/i },
73
+ 'JUD' => { name: 'Yuda', match: /\A(?:Yuda|Yud)\.?\z/i },
74
+ 'REV' => { name: 'Ufunuo', match: /\A(?:Ufunuo|Ufu)\.?\z/i },
75
+ }
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,79 @@
1
+ require_relative 'base'
2
+
3
+ # Book names and aliases: see SOURCES.md.
4
+ module BibleRef
5
+ module Languages
6
+ class Swedish < Base
7
+ def books
8
+ {
9
+ 'GEN' => { name: '1 Mosebok', match: /\A(?:1\ Mosebok|1\ Mos|Första\ Moseboken|1\ Moseboken|Första\ Mosebok|Genesis|Gen)\.?\z/i },
10
+ 'EXO' => { name: '2 Mosebok', match: /\A(?:2\ Mosebok|2\ Mos|Andra\ Moseboken|2\ Moseboken|Andra\ Mosebok|Exodus|Exod)\.?\z/i },
11
+ 'LEV' => { name: '3 Mosebok', match: /\A(?:3\ Mosebok|3\ Mos|Tredje\ Moseboken|3e\ Moseboken|3\ Moseboken|Tredje\ Mosebok|3e\ Mosebok|Leviticus|Lev)\.?\z/i },
12
+ 'NUM' => { name: '4 Mosebok', match: /\A(?:4\ Mosebok|4\ Mos|Fjärde\ Moseboken|4\ Moseboken|Fjärde\ Mosebok|Numeri|Num)\.?\z/i },
13
+ 'DEU' => { name: '5 Mosebok', match: /\A(?:5\ Mosebok|5\ Mos|Femte\ Moseboken|5\ Moseboken|Femte\ Mosebok|Deuteronomium|Deut)\.?\z/i },
14
+ 'JOS' => { name: 'Josua', match: /\A(?:Josua|Jos|Josh)\.?\z/i },
15
+ 'JDG' => { name: 'Domarboken', match: /\A(?:Domarboken|Dom|Judg)\.?\z/i },
16
+ 'RUT' => { name: 'Rut', match: /\A(?:Rut|Ruts\ bok|Ruth)\.?\z/i },
17
+ '1SA' => { name: '1 Samuelsboken', match: /\A(?:1\ Samuelsboken|1\ Sam|Första\ Samuelsboken|1Sam)\.?\z/i },
18
+ '2SA' => { name: '2 Samuelsboken', match: /\A(?:2\ Samuelsboken|2\ Sam|Andra\ Samuelsboken|2Sam)\.?\z/i },
19
+ '1KI' => { name: '1 Kungaboken', match: /\A(?:1\ Kungaboken|1\ Kung|Första\ Konungaboken|1\ Konungaboken|Första\ Kungaboken|1\ Kon|1Kgs)\.?\z/i },
20
+ '2KI' => { name: '2 Kungaboken', match: /\A(?:2\ Kungaboken|2\ Kung|Andra\ Konungaboken|2\ Konungaboken|Andra\ Kungaboken|2\ Kon|2Kgs)\.?\z/i },
21
+ '1CH' => { name: '1 Krönikeboken', match: /\A(?:1\ Krönikeboken|1\ Krön|Första\ Krönikeboken|1Chr)\.?\z/i },
22
+ '2CH' => { name: '2 Krönikeboken', match: /\A(?:2\ Krönikeboken|2\ Krön|Andra\ Krönikeboken|2Chr)\.?\z/i },
23
+ 'EZR' => { name: 'Esra', match: /\A(?:Esra|Esr|Ezra)\.?\z/i },
24
+ 'NEH' => { name: 'Nehemja', match: /\A(?:Nehemja|Neh|Nehemia)\.?\z/i },
25
+ 'EST' => { name: 'Ester', match: /\A(?:Ester|Est|Esters\ bok|Esth)\.?\z/i },
26
+ 'JOB' => { name: 'Job', match: /\A(?:Job|Jobs\ bok)\.?\z/i },
27
+ 'PSA' => { name: 'Psaltaren', match: /\A(?:Psaltaren|Ps|Psalmen|Psalm)\.?\z/i },
28
+ 'PRO' => { name: 'Ordspråksboken', match: /\A(?:Ordspråksboken|Ords|Prov|Ord)\.?\z/i },
29
+ 'ECC' => { name: 'Predikaren', match: /\A(?:Predikaren|Pred|Predikarens\ bok|Predikarboken|Eccl)\.?\z/i },
30
+ 'SNG' => { name: 'Höga Visan', match: /\A(?:Höga\ Visan|Höga\ V|Höga|Höga\ visan|Hoga\ v|Högav|Song)\.?\z/i },
31
+ 'ISA' => { name: 'Jesaja', match: /\A(?:Jesaja|Jes|Jesajas\ bok|Isa)\.?\z/i },
32
+ 'JER' => { name: 'Jeremia', match: /\A(?:Jeremia|Jer|Jeremias)\.?\z/i },
33
+ 'LAM' => { name: 'Klagovisorna', match: /\A(?:Klagovisorna|Klag|Lam)\.?\z/i },
34
+ 'EZK' => { name: 'Hesekiel', match: /\A(?:Hesekiel|Hes|Hesekiels\ bok|Ezek)\.?\z/i },
35
+ 'DAN' => { name: 'Daniel', match: /\A(?:Daniel|Dan|Daniels\ bok)\.?\z/i },
36
+ 'HOS' => { name: 'Hosea', match: /\A(?:Hosea|Hos|Hoseas\ bok)\.?\z/i },
37
+ 'JOL' => { name: 'Joel', match: /\A(?:Joel|Joels\ bok)\.?\z/i },
38
+ 'AMO' => { name: 'Amos', match: /\A(?:Amos|Am)\.?\z/i },
39
+ 'OBA' => { name: 'Obadja', match: /\A(?:Obadja|Ob|Obadjas\ bok|Obad)\.?\z/i },
40
+ 'JON' => { name: 'Jona', match: /\A(?:Jona|Jon|Jonas\ bok|Jona\ bok|Jonah)\.?\z/i },
41
+ 'MIC' => { name: 'Mika', match: /\A(?:Mika|Mik|Mikas\ bok|Mic)\.?\z/i },
42
+ 'NAM' => { name: 'Nahum', match: /\A(?:Nahum|Nah)\.?\z/i },
43
+ 'HAB' => { name: 'Habackuk', match: /\A(?:Habackuk|Hab|Habakuk)\.?\z/i },
44
+ 'ZEP' => { name: 'Sefanja', match: /\A(?:Sefanja|Sef|Sefanjas\ bok|Zefanias|Zeph)\.?\z/i },
45
+ 'HAG' => { name: 'Haggaj', match: /\A(?:Haggaj|Hagg|Haggai|Hag)\.?\z/i },
46
+ 'ZEC' => { name: 'Sakarja', match: /\A(?:Sakarja|Sak|Sakaria|Zech)\.?\z/i },
47
+ 'MAL' => { name: 'Malaki', match: /\A(?:Malaki|Mal|Malakias)\.?\z/i },
48
+ 'MAT' => { name: 'Matteusevangeliet', match: /\A(?:Matteusevangeliet|Matt|Mattei\ evangelium|Matteus|Mt)\.?\z/i },
49
+ 'MRK' => { name: 'Markusevangeliet', match: /\A(?:Markusevangeliet|Mark|Markus\ evangelium|Markus|Mk)\.?\z/i },
50
+ 'LUK' => { name: 'Lukasevangeliet', match: /\A(?:Lukasevangeliet|Luk|Lukas\ evangelium|Lukas|Luke|Lk)\.?\z/i },
51
+ 'JHN' => { name: 'Johannesevangeliet', match: /\A(?:Johannesevangeliet|Joh|Johannis\ evangelium|Johannes|John|Jh)\.?\z/i },
52
+ 'ACT' => { name: 'Apostlagärningarna', match: /\A(?:Apostlagärningarna|Apg|Acts)\.?\z/i },
53
+ 'ROM' => { name: 'Romarbrevet', match: /\A(?:Romarbrevet|Rom)\.?\z/i },
54
+ '1CO' => { name: '1 Korinthierbrevet', match: /\A(?:1\ Korinthierbrevet|1\ Kor|Första\ Korinthierbrevet|Första\ Korintierbrevet|1\ Korintierbrevet|Första\ Korintherbrevet|1\ Korintherbrevet|Första\ Korinterbrevet|1\ Korinterbrevet|1Cor)\.?\z/i },
55
+ '2CO' => { name: '2 Korinthierbrevet', match: /\A(?:2\ Korinthierbrevet|2\ Kor|Andra\ Korinthierbrevet|Andra\ Korintierbrevet|2\ Korintierbrevet|Andra\ Korintherbrevet|2\ Korintherbrevet|Andra\ Korinterbrevet|2\ Korinterbrevet|2Cor)\.?\z/i },
56
+ 'GAL' => { name: 'Galaterbrevet', match: /\A(?:Galaterbrevet|Gal|Galaterbrefvet)\.?\z/i },
57
+ 'EPH' => { name: 'Efesierbrevet', match: /\A(?:Efesierbrevet|Ef|Efeserbrevet|Eph)\.?\z/i },
58
+ 'PHP' => { name: 'Filipperbrevet', match: /\A(?:Filipperbrevet|Fil|Phil)\.?\z/i },
59
+ 'COL' => { name: 'Kolosserbrevet', match: /\A(?:Kolosserbrevet|Kol|Col)\.?\z/i },
60
+ '1TH' => { name: '1 Thessalonikerbrevet', match: /\A(?:1\ Thessalonikerbrevet|1\ Thess|Första\ Thessalonikerbrevet|Första\ Tessalonikerbrevet|1\ Tessalonikerbrevet|1\ Tess|1Thess)\.?\z/i },
61
+ '2TH' => { name: '2 Thessalonikerbrevet', match: /\A(?:2\ Thessalonikerbrevet|2\ Thess|Andra\ Thessalonikerbrevet|Andra\ Tessalonikerbrevet|2\ Tessalonikerbrevet|2\ Tess|2Thess)\.?\z/i },
62
+ '1TI' => { name: '1 Timotheosbrevet', match: /\A(?:1\ Timotheosbrevet|1\ Tim|Första\ Timotheosbrevet|Första\ Timoteusbrevet|1\ Timoteusbrevet|1Tim)\.?\z/i },
63
+ '2TI' => { name: '2 Timotheosbrevet', match: /\A(?:2\ Timotheosbrevet|2\ Tim|Andra\ Timotheosbrevet|Andra\ Timoteusbrevet|2\ Timoteusbrevet|2Tim)\.?\z/i },
64
+ 'TIT' => { name: 'Titusbrevet', match: /\A(?:Titusbrevet|Tit|Brevet\ till\ Titus|Titus)\.?\z/i },
65
+ 'PHM' => { name: 'Filemonbrevet', match: /\A(?:Filemonbrevet|Filem|Brevet\ till\ Filemon|Till\ Filemon|Phlm)\.?\z/i },
66
+ 'HEB' => { name: 'Hebreerbrevet', match: /\A(?:Hebreerbrevet|Heb|Hebréerbrevet|Hebr|Ebr)\.?\z/i },
67
+ 'JAS' => { name: 'Jakobsbrevet', match: /\A(?:Jakobsbrevet|Jak|Jakobs\ epistel|Jakobs\ brev|Jakob|Jas)\.?\z/i },
68
+ '1PE' => { name: '1 Petrusbrevet', match: /\A(?:1\ Petrusbrevet|1\ Pet|Första\ Petrusbrevet|Petrus\ första\ brev|1\ Petr|1Pet)\.?\z/i },
69
+ '2PE' => { name: '2 Petrusbrevet', match: /\A(?:2\ Petrusbrevet|2\ Pet|Andra\ Petrusbrevet|Petrus\ andra\ brev|2\ Petr|2Pet)\.?\z/i },
70
+ '1JN' => { name: '1 Johannesbrevet', match: /\A(?:1\ Johannesbrevet|1\ Joh|Första\ Johannesbrevet|Johannes\ första\ brev|1John)\.?\z/i },
71
+ '2JN' => { name: '2 Johannesbrevet', match: /\A(?:2\ Johannesbrevet|2\ Joh|Andra\ Johannesbrevet|Johannes\ andra\ brev|2John)\.?\z/i },
72
+ '3JN' => { name: '3 Johannesbrevet', match: /\A(?:3\ Johannesbrevet|3\ Joh|Tredje\ Johannesbrevet|3e\ Johannesbrevet|Johannes\ tredje\ brev|3John)\.?\z/i },
73
+ 'JUD' => { name: 'Judasbrevet', match: /\A(?:Judasbrevet|Jud|Judas\ epistel|Judas\ brev|Judas|Jude)\.?\z/i },
74
+ 'REV' => { name: 'Uppenbarelseboken', match: /\A(?:Uppenbarelseboken|Upp|Johannes\ Uppenbarelse|Johannes\ apokalyps|Rev)\.?\z/i },
75
+ }
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,79 @@
1
+ require_relative 'base'
2
+
3
+ # Book names and aliases: see SOURCES.md.
4
+ module BibleRef
5
+ module Languages
6
+ class Tagalog < Base
7
+ def books
8
+ {
9
+ 'GEN' => { name: 'Genesis', match: /\A(?:Genesis|Gen|Henesis)\.?\z/i },
10
+ 'EXO' => { name: 'Exodo', match: /\A(?:Exodo|Exo|Exodus|Exod|Ex)\.?\z/i },
11
+ 'LEV' => { name: 'Levitico', match: /\A(?:Levitico|Lev|Lebitikus|Leviticus|Lebitico|Leb)\.?\z/i },
12
+ 'NUM' => { name: 'Mga Bilang', match: /\A(?:Mga\ Bilang|Bil|Bamidbar|Bemidbar|Bilang|Blg|Num)\.?\z/i },
13
+ 'DEU' => { name: 'Deuteronomio', match: /\A(?:Deuteronomio|Deut|Deyuteronomyo|Diyuteronomyo|Deuteronomiya|Deuteronomiyo|Dyuteronomyo|Deuteronomya|Deuteronomia|Deuteronoma|Deuteronomi|Dt)\.?\z/i },
14
+ 'JOS' => { name: 'Josue', match: /\A(?:Josue|Jos|Joshua|Josué|Josh)\.?\z/i },
15
+ 'JDG' => { name: 'Mga Hukom', match: /\A(?:Mga\ Hukom|Huk|Hukom|Judg)\.?\z/i },
16
+ 'RUT' => { name: 'Ruth', match: /\A(?:Ruth|Rut)\.?\z/i },
17
+ '1SA' => { name: '1 Samuel', match: /\A(?:1\ Samuel|1\ Sam|Unang\ Samuel|Una\ Samuel|I\ Samuel|1Sam)\.?\z/i },
18
+ '2SA' => { name: '2 Samuel', match: /\A(?:2\ Samuel|2\ Sam|Ikalawang\ Samuel|II\ Samuel|2Sam)\.?\z/i },
19
+ '1KI' => { name: '1 Mga Hari', match: /\A(?:1\ Mga\ Hari|1\ Ha|Unang\ Hari|Una\ Hari|1\ Hari|I\ Hari|Unang\ Mga\ Hari|Una\ Mga\ Hari|I\ Mga\ Hari|Ikatlong\ Mga\ Hari|3\ Mga\ Hari|III\ Mga\ Hari|1Kgs)\.?\z/i },
20
+ '2KI' => { name: '2 Mga Hari', match: /\A(?:2\ Mga\ Hari|2\ Ha|Ikalawang\ Hari|2\ Hari|II\ Hari|Ikaapat\ Mga\ Hari|4\ Mga\ Hari|IV\ Mga\ Hari|Ikalawang\ Mga\ Hari|II\ Mga\ Hari|2Kgs)\.?\z/i },
21
+ '1CH' => { name: '1 Paralipomeno', match: /\A(?:1\ Paralipomeno|1\ Cro|Unang\ Paralipomeno|Una\ Paralipomeno|I\ Paralipomeno|Unang\ Mga\ Cronica|Una\ Mga\ Cronica|1\ Mga\ Cronica|I\ Mga\ Cronica|Unang\ Mga\ Kronika|Una\ Mga\ Kronika|1\ Mga\ Kronika|I\ Mga\ Kronika|Unang\ Chronicle|Una\ Chronicle|1\ Chronicle|I\ Chronicle|Unang\ Kronikel|Una\ Kronikel|1\ Kronikel|I\ Kronikel|Unang\ Cronica|Una\ Cronica|1\ Cronica|I\ Cronica|Unang\ Kronika|Una\ Kronika|1\ Kronika|I\ Kronika|1\ Cron|1Chr)\.?\z/i },
22
+ '2CH' => { name: '2 Paralipomeno', match: /\A(?:2\ Paralipomeno|2\ Cro|Ikalawang\ Paralipomeno|II\ Paralipomeno|Ikalawang\ Mga\ Cronica|2\ Mga\ Cronica|II\ Mga\ Cronica|Ikalawang\ Mga\ Kronika|2\ Mga\ Kronika|II\ Mga\ Kronika|Ikalawang\ Chronicle|2\ Chronicle|II\ Chronicle|Ikalawang\ Kronikel|2\ Kronikel|II\ Kronikel|Ikalawang\ Cronica|2\ Cronica|II\ Cronica|Ikalawang\ Kronika|2\ Kronika|II\ Kronika|2\ Cron|2Chr)\.?\z/i },
23
+ 'EZR' => { name: 'Ezra', match: /\A(?:Ezra|Esdras|Ezr)\.?\z/i },
24
+ 'NEH' => { name: 'Nehemias', match: /\A(?:Nehemias|Neh|Nehemíah|Nehemías)\.?\z/i },
25
+ 'EST' => { name: 'Ester', match: /\A(?:Ester|Est|Esther|Esth)\.?\z/i },
26
+ 'JOB' => { name: 'Job', match: /\A(?:Job)\.?\z/i },
27
+ 'PSA' => { name: 'Awit', match: /\A(?:Awit|Mga\ Salmo|Mga\ Awit|Salmo|Ps)\.?\z/i },
28
+ 'PRO' => { name: 'Kawikaan', match: /\A(?:Kawikaan|Kaw|Mga\ Kawikaan|Prov)\.?\z/i },
29
+ 'ECC' => { name: 'Mangangaral', match: /\A(?:Mangangaral|Manga|Ang\ Mangangaral|Ecclesiastes|Eclesiastés|Eclesyastés|Eklesiastés|Eklesyastés|Eclisiastes|Eclisyastes|Eklisiastes|Eklisyastes|Kohelet|Eccl|Ec)\.?\z/i },
30
+ 'SNG' => { name: 'Awit ng mga Awit', match: /\A(?:Awit\ ng\ mga\ Awit|Aw\ ni\ S|Ang\ Awit\ ng\ mga\ Awit|Ang\ Awit\ ni\ Salomón|Ang\ Awit\ ni\ Solomón|Awit\ ni\ Salomón|Awit\ ni\ Solomón|Kantikulo|A\.\ ng\ A|A\ ng\ A|Kantiko|Song|A\ ni\ S)\.?\z/i },
31
+ 'ISA' => { name: 'Isaias', match: /\A(?:Isaias|Isa|Isaíah|Isaías|Isaía|Is)\.?\z/i },
32
+ 'JER' => { name: 'Jeremias', match: /\A(?:Jeremias|Jer|Aklat\ ni\ Jeremiah|Aklat\ ni\ Jeremias|Sulat\ ni\ Jeremias|Heremias|Heremyas|Herimias|Herimyas|Hiremias|Hiremyas|Hirimias|Hirimyas|Jeremiah)\.?\z/i },
33
+ 'LAM' => { name: 'Panaghoy', match: /\A(?:Panaghoy|Panag|Aklat\ ng\ Pananaghoy|Aklat\ ng\ Pagtaghoy|Mga\ Lamentasyon|Mga\ Panaghoy|Lam)\.?\z/i },
34
+ 'EZK' => { name: 'Ezekiel', match: /\A(?:Ezekiel|Eze|Ezequiel|Esekiel|Esekyel|Ezekyel|Ezek|Ez)\.?\z/i },
35
+ 'DAN' => { name: 'Daniel', match: /\A(?:Daniel|Dan)\.?\z/i },
36
+ 'HOS' => { name: 'Hosea', match: /\A(?:Hosea|Hos|Hoseias|Hoseas|Hoseia|Oseiah|Oseias|Oseah|Oseas|Oseia|Osea|Os)\.?\z/i },
37
+ 'JOL' => { name: 'Joel', match: /\A(?:Joel|Yole)\.?\z/i },
38
+ 'AMO' => { name: 'Amos', match: /\A(?:Amos|Amós)\.?\z/i },
39
+ 'OBA' => { name: 'Obadias', match: /\A(?:Obadias|Oba|Obadiah|Abdías|Obad)\.?\z/i },
40
+ 'JON' => { name: 'Jonas', match: /\A(?:Jonas|Jon|Jonah|Jonáh|Jonás|Joná)\.?\z/i },
41
+ 'MIC' => { name: 'Mikas', match: /\A(?:Mikas|Mik|Mikeyas|Mikieas|Miqueas|Mikeas|Micah|Mikah|Micas|Mica|Mika|Mic|Mi)\.?\z/i },
42
+ 'NAM' => { name: 'Nahum', match: /\A(?:Nahum|Nah|Nahúm)\.?\z/i },
43
+ 'HAB' => { name: 'Habacuc', match: /\A(?:Habacuc|Hab|Habakkuk|Habakuk)\.?\z/i },
44
+ 'ZEP' => { name: 'Sofonias', match: /\A(?:Sofonias|Zef|Zephaniah|Zephanias|Sefanias|Sepanias|Sofonías|Zefanias|Zepanias|Sefania|Sepania|Zeph)\.?\z/i },
45
+ 'HAG' => { name: 'Hagai', match: /\A(?:Hagai|Hag|Haggai|Haggeo|Aggeo|Hageo|Agai|Ageo)\.?\z/i },
46
+ 'ZEC' => { name: 'Zacarias', match: /\A(?:Zacarias|Zac|Zechariah|Sacarías|Zacarías|Zech)\.?\z/i },
47
+ 'MAL' => { name: 'Malakias', match: /\A(?:Malakias|Mal|Malaquías|Malachi)\.?\z/i },
48
+ 'MAT' => { name: 'Mateo', match: /\A(?:Mateo|Mt|Mabuting\ Balita\ ayon\ kay\ San\ Mateo|Mabuting\ Balita\ ayon\ kay\ Mateo|Ebanghelyo\ ayon\ kay\ Mateo|Ebanghelyo\ ni\ San\ Mateo|Ebanghelyo\ ni\ Mateo|Matt|Mat)\.?\z/i },
49
+ 'MRK' => { name: 'Marcos', match: /\A(?:Marcos|Mc|Mabuting\ Balita\ ayon\ kay\ San\ Marcos|Mabuting\ Balita\ ayon\ kay\ San\ Markos|Mabuting\ Balita\ ayon\ kay\ Marcos|Mabuting\ Balita\ ayon\ kay\ Markos|Ebanghelyo\ ayon\ kay\ Marcos|Ebanghelyo\ ni\ San\ Marcos|Ebanghelyo\ ni\ San\ Markos|Ebanghelyo\ ni\ Marcos|Ebanghelyo\ ni\ Markos|Markos|Mark|Mar)\.?\z/i },
50
+ 'LUK' => { name: 'Lucas', match: /\A(?:Lucas|Lu|Mabuting\ Balita\ ayon\ kay\ San\ Lucas|Mabuting\ Balita\ ayon\ kay\ San\ Lukas|Mabuting\ Balita\ ayon\ kay\ Lucas|Mabuting\ Balita\ ayon\ kay\ Lukas|Ebanghelyo\ ayon\ kay\ San\ Lucas|Ebanghelyo\ ayon\ kay\ San\ Lukas|Ebanghelyo\ ayon\ kay\ Lucas|Ebanghelyo\ ayon\ kay\ Lukas|Ebanghelyo\ ni\ San\ Lucas|Ebanghelyo\ ni\ San\ Lukas|Lukas|Luke|Luc)\.?\z/i },
51
+ 'JHN' => { name: 'Juan', match: /\A(?:Juan|Jn|Mabuting\ Balita\ ayon\ kay\ San\ Juan|Mabuting\ Balita\ ayon\ kay\ Juan|Ebanghelyo\ ayon\ kay\ San\ Juan|Ebanghelyo\ ayon\ kay\ Juan|Ebanghelyo\ ni\ San\ Juan|John)\.?\z/i },
52
+ 'ACT' => { name: 'Mga Gawa', match: /\A(?:Mga\ Gawa|Gw|Mabuting\ Balita\ ayon\ sa\ Espiritu\ Santo|Mabuting\ Balita\ ng\ Espiritu\ Santo|Ebanghelyo\ ng\ Espiritu\ Santo|Mga\ Gawa\ ng\ mga\ Apostoles|Mga\ Gawa\ ng\ mga\ Apostol|Mga\ Gawa\ ng\ mga\ Alagad|Gawa\ ng\ mga\ Apostol|Gawa\ ng\ Apostoles|Mga\ Gawain|Acts|Gawa)\.?\z/i },
53
+ 'ROM' => { name: 'Mga Taga-Roma', match: /\A(?:Mga\ Taga\-Roma|Ro|Sulat\ sa\ mga\ Romano|Mga\ Taga\-\ Roma|Mga\ Taga\ Roma|Taga\-\ Roma|Taga\ Roma|Roma|Rom)\.?\z/i },
54
+ '1CO' => { name: '1 Corinto', match: /\A(?:1\ Corinto|1\ Cor|Unang\ Mga\ Taga\-\ Corinto|Una\ Mga\ Taga\-\ Corinto|1\ Mga\ Taga\-\ Corinto|I\ Mga\ Taga\-\ Corinto|Unang\ Mga\ Taga\ Corinto|Una\ Mga\ Taga\ Corinto|1\ Mga\ Taga\ Corinto|I\ Mga\ Taga\ Corinto|Unang\ Corintio|Una\ Corintio|1\ Corintio|I\ Corintio|Unang\ Korintio|Una\ Korintio|1\ Korintio|I\ Korintio|Unang\ Corinto|Una\ Corinto|I\ Corinto|Unang\ Korinto|Una\ Korinto|1\ Korinto|I\ Korinto|Unang\ Sulat\ sa\ mga\ Corintio|Una\ Sulat\ sa\ mga\ Corintio|1\ Sulat\ sa\ mga\ Corintio|I\ Sulat\ sa\ mga\ Corintio|Unang\ Sulat\ sa\ mga\ Corinto|Una\ Sulat\ sa\ mga\ Corinto|1\ Sulat\ sa\ mga\ Corinto|I\ Sulat\ sa\ mga\ Corinto|Ika\-\ 1\ Sulat\ sa\ mga\ Corintio|Ika\ 1\ Sulat\ sa\ mga\ Corintio|Ika\-\ 1\ Sulat\ sa\ mga\ Corinto|Ika\ 1\ Sulat\ sa\ mga\ Corinto|1Cor)\.?\z/i },
55
+ '2CO' => { name: '2 Corinto', match: /\A(?:2\ Corinto|2\ Cor|Ikalawang\ Mga\ Taga\-\ Corinto|2\ Mga\ Taga\-\ Corinto|II\ Mga\ Taga\-\ Corinto|Ikalawang\ Mga\ Taga\ Corinto|2\ Mga\ Taga\ Corinto|II\ Mga\ Taga\ Corinto|Ikalawang\ Corintio|2\ Corintio|II\ Corintio|Ikalawang\ Korintio|2\ Korintio|II\ Korintio|Ikalawang\ Corinto|II\ Corinto|Ikalawang\ Korinto|2\ Korinto|II\ Korinto|Ika\-\ 2\ Sulat\ sa\ mga\ Corintio|SECOND\ Sulat\ sa\ mga\ Corintio|Ika\ 2\ Sulat\ sa\ mga\ Corintio|Ika\-\ 2\ Sulat\ sa\ mga\ Corinto|SECOND\ Sulat\ sa\ mga\ Corinto|Ika\ 2\ Sulat\ sa\ mga\ Corinto|2Cor)\.?\z/i },
56
+ 'GAL' => { name: 'Mga Taga-Galacia', match: /\A(?:Mga\ Taga\-Galacia|Ga|Sulat\ sa\ mga\ taga\ Galacia|Sulat\ sa\ mga\ Galacia|Mga\ Taga\-\ Galacia|Mga\ Taga\-\ Galasya|Mga\ Taga\ Galacia|Mga\ Taga\ Galasya|Taga\-\ Galacia|Taga\ Galacia|Galasyano|Galacia|Gal)\.?\z/i },
57
+ 'EPH' => { name: 'Mga Taga-Efeso', match: /\A(?:Mga\ Taga\-Efeso|Ef|Sulat\ sa\ mga\ Efesio|Sulat\ sa\ mga\ Epesio|Sulat\ sa\ mga\ Efeso|Sulat\ sa\ mga\ Epeso|Mga\ Taga\-\ Efesio|Mga\ Taga\-\ Epesio|Mga\ Taga\ Efesio|Mga\ Taga\ Epesio|Mga\ Taga\-\ Efeso|Mga\ Taga\-\ Epeso|Mga\ Taga\ Efeso|Mga\ Taga\ Epeso|Taga\-\ Efesio|Taga\-\ Epesio|Taga\ Efesio|Taga\ Epesio|Taga\-\ Efeso|Taga\-\ Epeso|Mga\ Efesio|Mga\ Epesio|Taga\ Efeso|Taga\ Epeso|Mga\ Efeso|Mga\ Epeso|Efesio|Epesio|Efeso|Epeso|Eph)\.?\z/i },
58
+ 'PHP' => { name: 'Mga Taga-Filipos', match: /\A(?:Mga\ Taga\-Filipos|Fil|Sulat\ sa\ mga\ Pilipyano|Sulat\ sa\ mga\ Filipense|Sulat\ sa\ mga\ Pilipense|Mga\ Taga\-\ Filipos|Mga\ Taga\-\ Pilipos|Mga\ Taga\ Filipos|Mga\ Taga\ Pilipos|Mga\ Pilipyano|Mga\ Filipense|Mga\ Pilipense|Taga\-\ Filipos|Taga\-\ Pilipos|Taga\ Filipos|Taga\ Pilipos|Filipos|Pilipos|Phil)\.?\z/i },
59
+ 'COL' => { name: 'Mga Taga-Colosas', match: /\A(?:Mga\ Taga\-Colosas|Co|Sulat\ sa\ mga\ Colonsense|Sulat\ sa\ mga\ Kolonsense|Sulat\ sa\ mga\ Colosense|Sulat\ sa\ mga\ Kolosense|Mga\ Taga\-\ Colosas|Mga\ Taga\-\ Kolosas|Mga\ Taga\ Colosas|Mga\ Taga\ Kolosas|Mga\ Colonsense|Mga\ Kolonsense|Mga\ Colosense|Mga\ Kolosense|Taga\-\ Colosas|Taga\ Colosas|Colosas|Kolosas|Col)\.?\z/i },
60
+ '1TH' => { name: '1 Tesalonica', match: /\A(?:1\ Tesalonica|1\ Tes|Unang\ Mga\ Taga\-\ Tesalonica|Una\ Mga\ Taga\-\ Tesalonica|1\ Mga\ Taga\-\ Tesalonica|I\ Mga\ Taga\-\ Tesalonica|Unang\ Mga\ Taga\-\ Tesalonika|Una\ Mga\ Taga\-\ Tesalonika|1\ Mga\ Taga\-\ Tesalonika|I\ Mga\ Taga\-\ Tesalonika|Unang\ Mga\ Taga\ Tesalonica|Una\ Mga\ Taga\ Tesalonica|1\ Mga\ Taga\ Tesalonica|I\ Mga\ Taga\ Tesalonica|Unang\ Mga\ Taga\ Tesalonika|Una\ Mga\ Taga\ Tesalonika|1\ Mga\ Taga\ Tesalonika|I\ Mga\ Taga\ Tesalonika|Unang\ Mga\ Tesalonicense|Una\ Mga\ Tesalonicense|1\ Mga\ Tesalonicense|I\ Mga\ Tesalonicense|Unang\ Mga\ Tesalonisense|Una\ Mga\ Tesalonisense|1\ Mga\ Tesalonisense|I\ Mga\ Tesalonisense|Unang\ Tesalonicense|Una\ Tesalonicense|1\ Tesalonicense|I\ Tesalonicense|Unang\ Tesalonisense|Una\ Tesalonisense|1\ Tesalonisense|I\ Tesalonisense|Unang\ Tesalonica|Una\ Tesalonica|I\ Tesalonica|Unang\ Tesalonika|Una\ Tesalonika|1\ Tesalonika|I\ Tesalonika|1\ Thes|1Thess)\.?\z/i },
61
+ '2TH' => { name: '2 Tesalonica', match: /\A(?:2\ Tesalonica|2\ Tes|Ikalawang\ Mga\ Taga\-\ Tesalonica|2\ Mga\ Taga\-\ Tesalonica|II\ Mga\ Taga\-\ Tesalonica|Ikalawang\ Mga\ Taga\-\ Tesalonika|2\ Mga\ Taga\-\ Tesalonika|II\ Mga\ Taga\-\ Tesalonika|Ikalawang\ Mga\ Taga\ Tesalonica|2\ Mga\ Taga\ Tesalonica|II\ Mga\ Taga\ Tesalonica|Ikalawang\ Mga\ Taga\ Tesalonika|2\ Mga\ Taga\ Tesalonika|II\ Mga\ Taga\ Tesalonika|Ikalawang\ Mga\ Tesalonicense|2\ Mga\ Tesalonicense|II\ Mga\ Tesalonicense|Ikalawang\ Mga\ Tesalonisense|2\ Mga\ Tesalonisense|II\ Mga\ Tesalonisense|Ikalawang\ Tesalonicense|2\ Tesalonicense|II\ Tesalonicense|Ikalawang\ Tesalonisense|2\ Tesalonisense|II\ Tesalonisense|Ikalawang\ Tesalonica|II\ Tesalonica|Ikalawang\ Tesalonika|2\ Tesalonika|II\ Tesalonika|2\ Thes|2Thess)\.?\z/i },
62
+ '1TI' => { name: '1 Timoteo', match: /\A(?:1\ Timoteo|1\ Tim|Unang\ Kay\ Timoteo|Una\ Kay\ Timoteo|1\ Kay\ Timoteo|I\ Kay\ Timoteo|Unang\ Timoteo|Una\ Timoteo|I\ Timoteo|1Tim)\.?\z/i },
63
+ '2TI' => { name: '2 Timoteo', match: /\A(?:2\ Timoteo|2\ Tim|Ikalawang\ Kay\ Timoteo|2\ Kay\ Timoteo|II\ Kay\ Timoteo|Ikalawang\ Timoteo|II\ Timoteo|2Tim)\.?\z/i },
64
+ 'TIT' => { name: 'Tito', match: /\A(?:Tito|Kay\ Tito|Titus|Tit)\.?\z/i },
65
+ 'PHM' => { name: 'Filemon', match: /\A(?:Filemon|Filem|Kay\ Filemon|Phlm|Flm)\.?\z/i },
66
+ 'HEB' => { name: 'Mga Hebreo', match: /\A(?:Mga\ Hebreo|Heb|Mga\ Ebreo|Hebreo)\.?\z/i },
67
+ 'JAS' => { name: 'Santiago', match: /\A(?:Santiago|San|Jacobo|Sant|Jas)\.?\z/i },
68
+ '1PE' => { name: '1 Pedro', match: /\A(?:1\ Pedro|1\ Ped|Unang\ Pedro|Una\ Pedro|I\ Pedro|1Pet)\.?\z/i },
69
+ '2PE' => { name: '2 Pedro', match: /\A(?:2\ Pedro|2\ Ped|Ikalawang\ Pedro|II\ Pedro|2Pet)\.?\z/i },
70
+ '1JN' => { name: '1 Juan', match: /\A(?:1\ Juan|1\ Jn|1John|Unang\ Juan|Una\ Juan|I\ Juan)\.?\z/i },
71
+ '2JN' => { name: '2 Juan', match: /\A(?:2\ Juan|2\ Jn|2John|Ikalawang\ Juan|II\ Juan)\.?\z/i },
72
+ '3JN' => { name: '3 Juan', match: /\A(?:3\ Juan|3\ Jn|3John|Ikatlong\ Juan|III\ Juan)\.?\z/i },
73
+ 'JUD' => { name: 'Judas', match: /\A(?:Judas|Ju|Hudas|Jude|Jud)\.?\z/i },
74
+ 'REV' => { name: 'Pahayag', match: /\A(?:Pahayag|Pah|Apocalipsis\ ni\ Juan|Apokalipsis\ ni\ Juan|Pahayag\ kay\ Juan|Apocalipsis|Apokalipsis|Rebelasyon|Apoc|Apok|Rev)\.?\z/i },
75
+ }
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,79 @@
1
+ require_relative 'base'
2
+
3
+ # Book names and aliases: see SOURCES.md.
4
+ module BibleRef
5
+ module Languages
6
+ class Vietnamese < Base
7
+ def books
8
+ {
9
+ 'GEN' => { name: 'Sáng thế ký', match: /\A(?:Sáng\ thế\ ký|Sáng|Sáng\ Thế|Gen)\.?\z/i },
10
+ 'EXO' => { name: 'Xuất Ê-díp-tô ký', match: /\A(?:Xuất\ Ê\-díp\-tô\ ký|Xuất|Xuất\ Ai\ Cập\ Ký|Xuất\ Ai\-cập|Xuất\ Hành|Exod)\.?\z/i },
11
+ 'LEV' => { name: 'Lê-vi ký', match: /\A(?:Lê\-vi\ ký|Lê\-vi|Lê\ Vi|Lev|Lê)\.?\z/i },
12
+ 'NUM' => { name: 'Dân số ký', match: /\A(?:Dân\ số\ ký|Dân|Dân\ Số|Num)\.?\z/i },
13
+ 'DEU' => { name: 'Phục truyền luật lệ ký', match: /\A(?:Phục\ truyền\ luật\ lệ\ ký|Phục|Phục\ Truyền\ Luật\ Lệ|Phục\ Truyền|Đệ\ nhị\ luật|Deut)\.?\z/i },
14
+ 'JOS' => { name: 'Giô-suê', match: /\A(?:Giô\-suê|Giôs|Giô\-sua|Joshua|Gsua|Gsuê|Josh|Giô)\.?\z/i },
15
+ 'JDG' => { name: 'Các quan xét', match: /\A(?:Các\ quan\ xét|Quan|Các\ Thủ\ lãnh|Thẩm\ phán|Thủ\ lãnh|Quan\ án|Judg|Thủ)\.?\z/i },
16
+ 'RUT' => { name: 'Ru-tơ', match: /\A(?:Ru\-tơ|Ru|Ruth)\.?\z/i },
17
+ '1SA' => { name: 'I Sa-mu-ên', match: /\A(?:I\ Sa\-mu\-ên|I\ Sam|1\ Sa\-mu\-ên|I\ Samuel|1\ Samuel|1\ Sam|I\ Sa|1\ Sa|1Sam)\.?\z/i },
18
+ '2SA' => { name: 'II Sa-mu-ên', match: /\A(?:II\ Sa\-mu\-ên|II\ Sam|2\ Sa\-mu\-ên|II\ Samuel|2\ Samuel|2\ Sam|II\ Sa|2\ Sa|2Sam)\.?\z/i },
19
+ '1KI' => { name: 'I Các Vua', match: /\A(?:I\ Các\ Vua|I\ Vua|1\ Các\ Vua|1\ Vua|1Kgs)\.?\z/i },
20
+ '2KI' => { name: 'II Các Vua', match: /\A(?:II\ Các\ Vua|II\ Vua|2\ Các\ Vua|2\ Vua|2Kgs)\.?\z/i },
21
+ '1CH' => { name: 'I Sử ký', match: /\A(?:I\ Sử\ ký|I\ Sử|I\ Sử\ biên\ niên|1\ Sử\ biên\ niên|I\ Lịch\ sử|1\ Lịch\ sử|1\ Sử\ ký|1\ Sử|I\ Sử\ Ký|1\ Sử\ Ký|1Chr)\.?\z/i },
22
+ '2CH' => { name: 'II Sử ký', match: /\A(?:II\ Sử\ ký|II\ Sử|II\ Sử\ biên\ niên|2\ Sử\ biên\ niên|II\ Lịch\ sử|2\ Lịch\ sử|2\ Sử\ ký|2\ Sử|Sử\ Ký|2Chr)\.?\z/i },
23
+ 'EZR' => { name: 'Ê-xơ-ra', match: /\A(?:Ê\-xơ\-ra|E\-xơ\-ra|Ezra|Étra|Êxra|Êxr)\.?\z/i },
24
+ 'NEH' => { name: 'Nê-hê-mi', match: /\A(?:Nê\-hê\-mi|Nê|Nê\-hê\-mi\-a|Nơkhemia|Neh)\.?\z/i },
25
+ 'EST' => { name: 'Ê-xơ-tê', match: /\A(?:Ê\-xơ\-tê|Esther|Esth)\.?\z/i },
26
+ 'JOB' => { name: 'Gióp', match: /\A(?:Gióp|Job)\.?\z/i },
27
+ 'PSA' => { name: 'Thi Thiên', match: /\A(?:Thi\ Thiên|Thi|Thánh\ vịnh|Thánh\ Thi|Ps)\.?\z/i },
28
+ 'PRO' => { name: 'Châm ngôn', match: /\A(?:Châm\ ngôn|Châm|Prov)\.?\z/i },
29
+ 'ECC' => { name: 'Truyền đạo', match: /\A(?:Truyền\ đạo|Giáo|Giáo\ huấn|Giảng\ Sư|Eccl)\.?\z/i },
30
+ 'SNG' => { name: 'Nhã ca', match: /\A(?:Nhã\ ca|Tình|Diễm\ ca|Tình\ ca|Song)\.?\z/i },
31
+ 'ISA' => { name: 'Ê-sai', match: /\A(?:Ê\-sai|I\-sa\-gia|I\-sai\-a|Isaiah|I\-sa|Isa)\.?\z/i },
32
+ 'JER' => { name: 'Giê-rê-mi', match: /\A(?:Giê\-rê\-mi|Giê|Giê\-rê\-mi\-a|Jeremiah|Jer)\.?\z/i },
33
+ 'LAM' => { name: 'Ca thương', match: /\A(?:Ca\ thương|Ai|Ai\ Ca|Lam)\.?\z/i },
34
+ 'EZK' => { name: 'Ê-xê-chi-ên', match: /\A(?:Ê\-xê\-chi\-ên|Ê\-xê|Ê\-xê\-chiên|Ê\-xê\-ki\-ên|Ezekiel|Ezek)\.?\z/i },
35
+ 'DAN' => { name: 'Đa-ni-ên', match: /\A(?:Đa\-ni\-ên|Đa|Ða\-ni\-ên|Đa\-niên|Đanien|Dan)\.?\z/i },
36
+ 'HOS' => { name: 'Ô-sê', match: /\A(?:Ô\-sê|Hô\-sê\-a|Hosea|Hos)\.?\z/i },
37
+ 'JOL' => { name: 'Giô-ên', match: /\A(?:Giô\-ên|Joel)\.?\z/i },
38
+ 'AMO' => { name: 'A-mốt', match: /\A(?:A\-mốt|Am|Amos)\.?\z/i },
39
+ 'OBA' => { name: 'Áp-đia', match: /\A(?:Áp\-đia|Áp|Ô\-ba\-đi\-a|Obadiah|Obad)\.?\z/i },
40
+ 'JON' => { name: 'Giô-na', match: /\A(?:Giô\-na|Jonah)\.?\z/i },
41
+ 'MIC' => { name: 'Mi-chê', match: /\A(?:Mi\-chê|Mi|Mi\-ca|Micah|Mic)\.?\z/i },
42
+ 'NAM' => { name: 'Na-hum', match: /\A(?:Na\-hum|Na|Na\-hâm|Nahum|Nah)\.?\z/i },
43
+ 'HAB' => { name: 'Ha-ba-cúc', match: /\A(?:Ha\-ba\-cúc|Ha|Habakkuk|Hab)\.?\z/i },
44
+ 'ZEP' => { name: 'Sô-phô-ni', match: /\A(?:Sô\-phô\-ni|Xô|Sô\-phô\-ni\-a|Xê\-pha\-ni\-a|Xô\-phô\-ni|Zephaniah|Zeph)\.?\z/i },
45
+ 'HAG' => { name: 'A-ghê', match: /\A(?:A\-ghê|A\-gai|Ha\-gai|Haggai|Hag)\.?\z/i },
46
+ 'ZEC' => { name: 'Xa-cha-ri', match: /\A(?:Xa\-cha\-ri|Xa|Xa\-cha\-ri\-a|Xê\-ca\-ri\-a|Zechariah|Zech)\.?\z/i },
47
+ 'MAL' => { name: 'Ma-la-chi', match: /\A(?:Ma\-la\-chi|Mal|Ma\-la\-ki|Malachi)\.?\z/i },
48
+ 'MAT' => { name: 'Ma-thi-ơ', match: /\A(?:Ma\-thi\-ơ|Ma|Mátthêu|Matt|Mat)\.?\z/i },
49
+ 'MRK' => { name: 'Mác', match: /\A(?:Mác|Máccô|Mark)\.?\z/i },
50
+ 'LUK' => { name: 'Lu-ca', match: /\A(?:Lu\-ca|Lu|Luca|Luke)\.?\z/i },
51
+ 'JHN' => { name: 'Giăng', match: /\A(?:Giăng|Gi|Gioan|John|Gg)\.?\z/i },
52
+ 'ACT' => { name: 'Công vụ các Sứ đồ', match: /\A(?:Công\ vụ\ các\ Sứ\ đồ|Sứ\ đồ|Công\ vụ\ Tông\ đồ|Công\ Vụ|Acts|Công)\.?\z/i },
53
+ 'ROM' => { name: 'Rô-ma', match: /\A(?:Rô\-ma|La\-mã|Rôma|Rom)\.?\z/i },
54
+ '1CO' => { name: 'I Cô-rinh-tô', match: /\A(?:I\ Cô\-rinh\-tô|I\ Cô|1\ Cô\-rinh\-tô|I\ Cô\-rinh|1\ Cô\-rinh|I\ Côrintô|1\ Côrintô|1\ Cô|1Cor)\.?\z/i },
55
+ '2CO' => { name: 'II Cô-rinh-tô', match: /\A(?:II\ Cô\-rinh\-tô|II\ Cô|2\ Cô\-rinh\-tô|II\ Cô\-rinh|2\ Cô\-rinh|II\ Côrintô|2\ Côrintô|2\ Cô|2Cor)\.?\z/i },
56
+ 'GAL' => { name: 'Ga-la-ti', match: /\A(?:Ga\-la\-ti|Gal|Galát)\.?\z/i },
57
+ 'EPH' => { name: 'Ê-phê-sô', match: /\A(?:Ê\-phê\-sô|Êph|Êphêsô|Eph)\.?\z/i },
58
+ 'PHP' => { name: 'Phi-líp', match: /\A(?:Phi\-líp|Phil|Philípphê)\.?\z/i },
59
+ 'COL' => { name: 'Cô-lô-se', match: /\A(?:Cô\-lô\-se|Côl|Côlôxê|Col)\.?\z/i },
60
+ '1TH' => { name: 'I Tê-sa-lô-ni-ca', match: /\A(?:I\ Tê\-sa\-lô\-ni\-ca|I\ Tê|I\ Thê\-sa\-lô\-ni\-ca|1\ Thê\-sa\-lô\-ni\-ca|1\ Tê\-sa\-lô\-ni\-ca|I\ Thêxalônica|1\ Thêxalônica|1\ Tê|1Thess)\.?\z/i },
61
+ '2TH' => { name: 'II Tê-sa-lô-ni-ca', match: /\A(?:II\ Tê\-sa\-lô\-ni\-ca|II\ Tê|II\ Thê\-sa\-lô\-ni\-ca|2\ Thê\-sa\-lô\-ni\-ca|2\ Tê\-sa\-lô\-ni\-ca|II\ Thêxalônica|2\ Thêxalônica|2\ Tê|2Thess)\.?\z/i },
62
+ '1TI' => { name: 'I Ti-mô-thê', match: /\A(?:I\ Ti\-mô\-thê|I\ Tim|1\ Ti\-mô\-thê|I\ Timôthê|1\ Timôthê|1\ Tim|1Tim)\.?\z/i },
63
+ '2TI' => { name: 'II Ti-mô-thê', match: /\A(?:II\ Ti\-mô\-thê|II\ Tim|2\ Ti\-mô\-thê|II\ Timôthê|2\ Timôthê|2\ Tim|2Tim)\.?\z/i },
64
+ 'TIT' => { name: 'Tít', match: /\A(?:Tít|Titus|Titô|Tích)\.?\z/i },
65
+ 'PHM' => { name: 'Phi-lê-môn', match: /\A(?:Phi\-lê\-môn|Phi\-lê|Philêmon|Phlm)\.?\z/i },
66
+ 'HEB' => { name: 'Hê-bơ-rơ', match: /\A(?:Hê\-bơ\-rơ|Hê|Do\ Thái|Heb)\.?\z/i },
67
+ 'JAS' => { name: 'Gia-cơ', match: /\A(?:Gia\-cơ|Giacôbê|Jas)\.?\z/i },
68
+ '1PE' => { name: 'I Phi-e-rơ', match: /\A(?:I\ Phi\-e\-rơ|I\ Phia|1\ Phi\-e\-rơ|I\ Phia\-rơ|1\ Phia\-rơ|I\ Phi\-rơ|1\ Phi\-rơ|I\ Phê\-rơ|1\ Phê\-rơ|I\ Phêrô|1\ Phêrô|1\ Phia|1Pet)\.?\z/i },
69
+ '2PE' => { name: 'II Phi-e-rơ', match: /\A(?:II\ Phi\-e\-rơ|II\ Phia|2\ Phi\-e\-rơ|II\ Phia\-rơ|2\ Phia\-rơ|II\ Phi\-rơ|2\ Phi\-rơ|II\ Phê\-rơ|2\ Phê\-rơ|II\ Phêrô|2\ Phêrô|2\ Phia|2Pet)\.?\z/i },
70
+ '1JN' => { name: 'I Giăng', match: /\A(?:I\ Giăng|I\ Gi|1John|I\ Gioan|1\ Gioan|1\ Giăng|1\ Gi)\.?\z/i },
71
+ '2JN' => { name: 'II Giăng', match: /\A(?:II\ Giăng|II\ Gi|2John|II\ Gioan|2\ Gioan|2\ Giăng|2\ Gi)\.?\z/i },
72
+ '3JN' => { name: 'III Giăng', match: /\A(?:III\ Giăng|III\ Gi|3John|III\ Gioan|3\ Gioan|3\ Giăng|3\ Gi)\.?\z/i },
73
+ 'JUD' => { name: 'Giu-đe', match: /\A(?:Giu\-đe|Giuđa|Jude)\.?\z/i },
74
+ 'REV' => { name: 'Khải Huyền', match: /\A(?:Khải\ Huyền|Khải|Khải\ Huyền\ của\ John|Khải\ thị|Rev)\.?\z/i },
75
+ }
76
+ end
77
+ end
78
+ end
79
+ end
@@ -1,21 +1,57 @@
1
+ require_relative 'languages/arabic'
1
2
  require_relative 'languages/cherokee'
2
3
  require_relative 'languages/chinese'
4
+ require_relative 'languages/chinese_simplified'
3
5
  require_relative 'languages/czech'
6
+ require_relative 'languages/danish'
7
+ require_relative 'languages/dutch'
4
8
  require_relative 'languages/english'
9
+ require_relative 'languages/finnish'
10
+ require_relative 'languages/german'
11
+ require_relative 'languages/hebrew'
12
+ require_relative 'languages/hungarian'
13
+ require_relative 'languages/italian'
14
+ require_relative 'languages/japanese'
15
+ require_relative 'languages/korean'
5
16
  require_relative 'languages/latin'
17
+ require_relative 'languages/norwegian'
18
+ require_relative 'languages/polish'
6
19
  require_relative 'languages/portuguese'
7
20
  require_relative 'languages/romanian'
8
21
  require_relative 'languages/russian'
22
+ require_relative 'languages/spanish'
23
+ require_relative 'languages/swahili'
24
+ require_relative 'languages/swedish'
25
+ require_relative 'languages/tagalog'
26
+ require_relative 'languages/vietnamese'
9
27
 
10
28
  module BibleRef
11
29
  LANGUAGES = {
30
+ 'ara' => Languages::Arabic,
12
31
  'chr' => Languages::Cherokee,
13
- 'zh-tw' => Languages::Chinese,
14
32
  'cze' => Languages::Czech,
33
+ 'dan' => Languages::Danish,
34
+ 'deu' => Languages::German,
35
+ 'dut' => Languages::Dutch,
15
36
  'eng' => Languages::English,
37
+ 'fin' => Languages::Finnish,
38
+ 'heb' => Languages::Hebrew,
39
+ 'hun' => Languages::Hungarian,
40
+ 'ita' => Languages::Italian,
41
+ 'jpn' => Languages::Japanese,
42
+ 'kor' => Languages::Korean,
16
43
  'lat' => Languages::Latin,
44
+ 'nor' => Languages::Norwegian,
45
+ 'pol' => Languages::Polish,
17
46
  'por' => Languages::Portuguese,
18
47
  'ron' => Languages::Romanian,
19
- 'rus' => Languages::Russian
48
+ 'rus' => Languages::Russian,
49
+ 'spa' => Languages::Spanish,
50
+ 'swa' => Languages::Swahili,
51
+ 'swe' => Languages::Swedish,
52
+ 'tgl' => Languages::Tagalog,
53
+ 'vie' => Languages::Vietnamese,
54
+ 'zh-cn' => Languages::ChineseSimplified,
55
+ 'zh-tw' => Languages::Chinese,
20
56
  }.freeze
21
- end
57
+ end
@@ -29,7 +29,11 @@ module BibleRef
29
29
  rule(:chapter) { num.as(:chapter) }
30
30
  rule(:verse) { num.as(:verse) }
31
31
 
32
- rule(:word) { (match("[1234]").maybe >> match("[^0-9]").repeat(1)).as(:word) }
32
+ rule(:book_number) do
33
+ (match("[1-5]") >> (match("[.°ºª-]").maybe >> space.maybe >> match("[[:alpha:]]")).present?) |
34
+ (match("[0-9]").repeat(1) >> (str(")").maybe >> str(".").maybe >> space >> match("[0-9]")).present?)
35
+ end
36
+ rule(:word) { (book_number | match("[^0-9]")).repeat(1).as(:word) }
33
37
  rule(:separator) { (str(",") >> space.maybe) | (space.maybe >> str("&") >> space.maybe) }
34
38
  rule(:num) { match("[0-9]").repeat(1).as(:num) }
35
39
  rule(:space) { str(" ").repeat(1) }
@@ -84,13 +84,11 @@ module BibleRef
84
84
  def standardize_single_chapter_book
85
85
  return if @single_chapter_book_matching == :indifferent
86
86
  return @reference if @reference.include? ':'
87
+ return unless @details
88
+ book = @details[:book].dup
87
89
  return unless %w[OBA PHM 2JN 3JN JUD].include?(book_id)
88
90
  return if refs_as_array.any? { |r| r[:verse] }
89
91
 
90
- matches = @reference.match(/^([\d]?[\D\s]*)/)
91
- #return @reference if matches.length() == 0
92
-
93
- book = matches[0].strip
94
92
  requested = @reference.sub(book, '').strip
95
93
  @reference = "#{book} 1:#{requested}"
96
94
  @details = parse
@@ -1,3 +1,3 @@
1
1
  module BibleRef
2
- VERSION = '2.0.0'
2
+ VERSION = '2.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bible_ref
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan
@@ -64,15 +64,34 @@ files:
64
64
  - lib/bible_ref/canons/all.rb
65
65
  - lib/bible_ref/canons/protestant.rb
66
66
  - lib/bible_ref/languages.rb
67
+ - lib/bible_ref/languages/SOURCES.md
68
+ - lib/bible_ref/languages/arabic.rb
67
69
  - lib/bible_ref/languages/base.rb
68
70
  - lib/bible_ref/languages/cherokee.rb
69
71
  - lib/bible_ref/languages/chinese.rb
72
+ - lib/bible_ref/languages/chinese_simplified.rb
70
73
  - lib/bible_ref/languages/czech.rb
74
+ - lib/bible_ref/languages/danish.rb
75
+ - lib/bible_ref/languages/dutch.rb
71
76
  - lib/bible_ref/languages/english.rb
77
+ - lib/bible_ref/languages/finnish.rb
78
+ - lib/bible_ref/languages/german.rb
79
+ - lib/bible_ref/languages/hebrew.rb
80
+ - lib/bible_ref/languages/hungarian.rb
81
+ - lib/bible_ref/languages/italian.rb
82
+ - lib/bible_ref/languages/japanese.rb
83
+ - lib/bible_ref/languages/korean.rb
72
84
  - lib/bible_ref/languages/latin.rb
85
+ - lib/bible_ref/languages/norwegian.rb
86
+ - lib/bible_ref/languages/polish.rb
73
87
  - lib/bible_ref/languages/portuguese.rb
74
88
  - lib/bible_ref/languages/romanian.rb
75
89
  - lib/bible_ref/languages/russian.rb
90
+ - lib/bible_ref/languages/spanish.rb
91
+ - lib/bible_ref/languages/swahili.rb
92
+ - lib/bible_ref/languages/swedish.rb
93
+ - lib/bible_ref/languages/tagalog.rb
94
+ - lib/bible_ref/languages/vietnamese.rb
76
95
  - lib/bible_ref/parser.rb
77
96
  - lib/bible_ref/reference.rb
78
97
  - lib/bible_ref/version.rb
@@ -94,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
113
  - !ruby/object:Gem::Version
95
114
  version: '0'
96
115
  requirements: []
97
- rubygems_version: 3.6.7
116
+ rubygems_version: 3.6.9
98
117
  specification_version: 4
99
118
  summary: Bible reference parser
100
119
  test_files: []