diff --git a/README.md b/README.md index e16b82ef..e3443384 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ Korean Malagasy Polish, Portuguese Brazil Romanian, Russian -Spanish +Spanish, Swedish Tagalog, Tandroy, Tankarana, Turkish, Twin Ukrainian Vezo diff --git a/src/browser/utils.browser.ts b/src/browser/utils.browser.ts index 2c62f133..281423d8 100644 --- a/src/browser/utils.browser.ts +++ b/src/browser/utils.browser.ts @@ -4,6 +4,7 @@ import CH from '../locales/cmn-Hant/text.json'; import CHS from '../locales/ch-CHS/text.json'; import E from '../locales/en/text.json'; import F from '../locales/fr-FR/text.json'; +import FI from '../locales/fi-FI/text.json'; import I from '../locales/it-IT/text.json'; import J from '../locales/ja-JP/text.json'; import K from '../locales/uk-UA/text.json'; @@ -23,6 +24,7 @@ import TW from '../locales/tw-TW/text.json'; import U from '../locales/ru-RU/text.json'; import VZ from '../locales/mg-VZ/text.json'; import X from '../locales/de-DE/text.json'; +import Z from '../locales/sv-SE/text.json'; declare global { interface Window { @@ -31,6 +33,6 @@ declare global { } window.jw_epub_parser = { - languages: { CH, CHS, E, F, I, J, K, KO, M, MG, P, S, T, TG, TK, TND, TNK, TPO, TTM, TW, U, VZ, X }, + languages: { CH, CHS, E, F, FI, I, J, K, KO, M, MG, P, S, T, TG, TK, TND, TNK, TPO, TTM, TW, U, VZ, X, Z }, path: path, }; diff --git a/src/common/date_parser.ts b/src/common/date_parser.ts index e0f743dd..1f13e5fd 100644 --- a/src/common/date_parser.ts +++ b/src/common/date_parser.ts @@ -69,6 +69,7 @@ const mwbDatePatterns: LangRegExp = { CH: new RegExp(mwbDatePatternJ, 'giu'), CHS: new RegExp(mwbDatePatternJ, 'giu'), E: new RegExp(mwbDatePatternE, 'giu'), + FI: new RegExp(mwbDatePatternX, 'giu'), J: new RegExp(mwbDatePatternJ, 'giu'), KO: new RegExp(mwbDatePatternKO, 'giu'), P: new RegExp(mwbDatePatternP, 'giu'), @@ -230,11 +231,18 @@ option1 = `(\\d{1,2}). bis (?:\\d{1,2}).? (${wordWithDiacritics}) (\\d{4})`; option2 = `(\\d{1,2}). (${wordWithDiacritics}) (\\d{4})`; const wDatePatternX = `${option1}|${option2}`; +// date like 1-) Tutkitaan 3.–9.2.2025 ; or 2) Tutkitaan 24.2.–2.3.2025. ; or 3) Tutkitaan 30.12.2024–5.1.2025. +option1 = '(\\d{1,2}).[–](?:\\d{1,2}).(\\d{1,2}).(\\d{4})'; +option2 = '(\\d{1,2}).(\\d{1,2}).[–](?:\\d{1,2}).(?:\\d{1,2}).(\\d{4})'; +option3 = '(\\d{1,2}).(\\d{1,2}).(\\d{4})'; +const wDatePatternFI = `${option1}|${option2}|${option3}`; + const wDatePatterns: LangRegExp = { common: new RegExp(wDatePatternCommon, 'giu'), CH: new RegExp(wDatePatternJ, 'giu'), CHS: new RegExp(wDatePatternJ, 'giu'), E: new RegExp(wDatePatternE, 'giu'), + FI: new RegExp(wDatePatternFI, 'giu'), J: new RegExp(wDatePatternJ, 'giu'), KO: new RegExp(wDatePatternKO, 'giu'), P: new RegExp(wDatePatternP, 'giu'), diff --git a/src/locales/languages.ts b/src/locales/languages.ts index f54592d1..cf8423f4 100644 --- a/src/locales/languages.ts +++ b/src/locales/languages.ts @@ -1,25 +1,27 @@ export default [ - { locale: 'en', code: 'E' }, - { locale: 'fr-FR', code: 'F' }, - { locale: 'it-IT', code: 'I' }, - { locale: 'ja-JP', code: 'J' }, - { locale: 'uk-UA', code: 'K' }, - { locale: 'ko-KR', code: 'KO' }, - { locale: 'ro-RO', code: 'M' }, - { locale: 'mg-MG', code: 'MG' }, - { locale: 'pl-PL', code: 'P' }, - { locale: 'es-ES', code: 'S' }, - { locale: 'pt-BR', code: 'T' }, - { locale: 'pt-PT', code: 'TPO'}, - { locale: 'tl-PH', code: 'TG' }, - { locale: 'tr-TR', code: 'TK' }, - { locale: 'mg-TND', code: 'TND' }, - { locale: 'mg-TNK', code: 'TNK' }, - { locale: 'mg-TTM', code: 'TTM' }, - { locale: 'tw-TW', code: 'TW' }, - { locale: 'uk-UA', code: 'U' }, - { locale: 'mg-VZ', code: 'VZ' }, - { locale: 'de-DE', code: 'X' }, - { locale: 'cmn-Hant', code: 'CH' }, - { locale: 'ch-CHS', code: 'CHS' }, + { locale: 'en', code: 'E' }, + { locale: 'fr-FR', code: 'F' }, + { locale: 'it-IT', code: 'I' }, + { locale: 'ja-JP', code: 'J' }, + { locale: 'uk-UA', code: 'K' }, + { locale: 'ko-KR', code: 'KO' }, + { locale: 'ro-RO', code: 'M' }, + { locale: 'mg-MG', code: 'MG' }, + { locale: 'pl-PL', code: 'P' }, + { locale: 'es-ES', code: 'S' }, + { locale: 'pt-BR', code: 'T' }, + { locale: 'pt-PT', code: 'TPO' }, + { locale: 'tl-PH', code: 'TG' }, + { locale: 'tr-TR', code: 'TK' }, + { locale: 'mg-TND', code: 'TND' }, + { locale: 'mg-TNK', code: 'TNK' }, + { locale: 'mg-TTM', code: 'TTM' }, + { locale: 'tw-TW', code: 'TW' }, + { locale: 'uk-UA', code: 'U' }, + { locale: 'mg-VZ', code: 'VZ' }, + { locale: 'de-DE', code: 'X' }, + { locale: 'cmn-Hant', code: 'CH' }, + { locale: 'ch-CHS', code: 'CHS' }, + { locale: 'fi-FI', code: 'FI' }, + { locale: 'sv-SE', code: 'Z' }, ]; diff --git a/src/node/utils.node.ts b/src/node/utils.node.ts index 0cdbbce7..885dbe8c 100644 --- a/src/node/utils.node.ts +++ b/src/node/utils.node.ts @@ -5,6 +5,7 @@ import CH from '../locales/cmn-Hant/text.json' assert { type: 'json' }; import CHS from '../locales/ch-CHS/text.json' assert { type: 'json' }; import E from '../locales/en/text.json' assert { type: 'json' }; import F from '../locales/fr-FR/text.json' assert { type: 'json' }; +import FI from '../locales/fi-FI/text.json' assert { type: 'json' }; import I from '../locales/it-IT/text.json' assert { type: 'json' }; import J from '../locales/ja-JP/text.json' assert { type: 'json' }; import K from '../locales/uk-UA/text.json' assert { type: 'json' }; @@ -24,13 +25,14 @@ import TW from '../locales/tw-TW/text.json' assert { type: 'json' }; import U from '../locales/ru-RU/text.json' assert { type: 'json' }; import VZ from '../locales/mg-VZ/text.json' assert { type: 'json' }; import X from '../locales/de-DE/text.json' assert { type: 'json' }; +import Z from '../locales/sv-SE/text.json' assert { type: 'json' }; declare global { var jw_epub_parser: any; } global.jw_epub_parser = { - languages: { CH, CHS, E, F, I, J, K, KO, M, MG, P, S, T, TG, TK, TND, TNK, TPO, TTM, TW, U, VZ, X }, + languages: { CH, CHS, E, F, FI, I, J, K, KO, M, MG, P, S, T, TG, TK, TND, TNK, TPO, TTM, TW, U, VZ, X, Z }, path: path, readFile: readFile, }; diff --git a/test/fixtures/mwb_Z_202411.js b/test/fixtures/mwb_Z_202411.js new file mode 100644 index 00000000..a1e2df73 --- /dev/null +++ b/test/fixtures/mwb_Z_202411.js @@ -0,0 +1,307 @@ +export default [ + { + mwb_week_date: '2024/11/04', + mwb_week_date_locale: '4–10 NOVEMBER', + mwb_weekly_bible_reading: 'PSALM 105', + mwb_song_first: 3, + mwb_tgw_talk: '”Han kommer ihåg sitt förbund för evigt”', + mwb_tgw_talk_title: '1. ”Han kommer ihåg sitt förbund för evigt”', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 105:24–45 (th lektion 5)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 4, + mwb_ayf_part1: 'DÖRR TILL DÖRR. Den besökte är upptagen. (lmd lektion 2, punkt 5)', + mwb_ayf_part1_time: 1, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'DÖRR TILL DÖRR. Avsluta samtalet på ett trevligt sätt när den besökte försöker få i gång en hetsig diskussion. (lmd lektion 4, punkt 5)', + mwb_ayf_part2_time: 2, + mwb_ayf_part2_type: 'Starta ett samtal', + mwb_ayf_part2_title: '5. Starta ett samtal', + mwb_ayf_part3: + 'DÖRR TILL DÖRR. Erbjud en tidskrift som tar upp ett ämne som den besökte tidigare har visat intresse för. (lmd lektion 8, punkt 3)', + mwb_ayf_part3_time: 4, + mwb_ayf_part3_type: 'Följ upp intresset', + mwb_ayf_part3_title: '6. Följ upp intresset', + mwb_ayf_part4: + 'INFORMELLT VITTNANDE. Berätta om appen JW Library®, och visa hur man laddar ner den. (lmd lektion 9, punkt 5)', + mwb_ayf_part4_time: 4, + mwb_ayf_part4_type: 'Följ upp intresset', + mwb_ayf_part4_title: '7. Följ upp intresset', + mwb_song_middle: 84, + mwb_lc_count: 1, + mwb_lc_part1: 'Ett bevis på kärlek', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '8. Ett bevis på kärlek', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 17 § 13–19', + mwb_lc_cbs_title: '9. Församlingens bibelstudium', + mwb_song_conclude: 97, + }, + { + mwb_week_date: '2024/11/11', + mwb_week_date_locale: '11–17 NOVEMBER', + mwb_weekly_bible_reading: 'PSALM 106', + mwb_song_first: 36, + mwb_tgw_talk: '”De glömde Gud, sin räddare”', + mwb_tgw_talk_title: '1. ”De glömde Gud, sin räddare”', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 106:21–48 (th lektion 10)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 2, + mwb_ayf_part1: 'Resonemang med åhörarna. Spela upp VIDEON, och resonera sedan om lmd lektion 11, punkt 1, 2.', + mwb_ayf_part1_time: 7, + mwb_ayf_part1_type: 'Enkelhet – Så här gjorde Jesus', + mwb_ayf_part1_title: '4. Enkelhet – Så här gjorde Jesus', + mwb_ayf_part2: 'Resonemang med åhörarna grundat på lmd lektion 11, punkt 3–5 och ”Se också”.', + mwb_ayf_part2_time: 8, + mwb_ayf_part2_type: 'Enkelhet – Gör som Jesus', + mwb_ayf_part2_title: '5. Enkelhet – Gör som Jesus', + mwb_song_middle: 78, + mwb_lc_count: 1, + mwb_lc_part1: 'Församlingens behov', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '6. Församlingens behov', + mwb_lc_cbs: 'bt kap. 18 § 1–5, rutorna på s. 142, 144', + mwb_lc_cbs_title: '7. Församlingens bibelstudium', + mwb_song_conclude: 77, + }, + { + mwb_week_date: '2024/11/18', + mwb_week_date_locale: '18–24 NOVEMBER', + mwb_weekly_bible_reading: 'PSALM 107, 108', + mwb_song_first: 7, + mwb_tgw_talk: '”Tacka Jehova, för han är god”', + mwb_tgw_talk_title: '1. ”Tacka Jehova, för han är god”', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 107:1–28 (th lektion 5)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: 'INFORMELLT VITTNANDE. (lmd lektion 1, punkt 4)', + mwb_ayf_part1_time: 3, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'INFORMELLT VITTNANDE. Berätta om vår bibelkurs, och ge personen visitkortet ”Gratis bibelkurs”. (lmd lektion 9, punkt 3)', + mwb_ayf_part2_time: 4, + mwb_ayf_part2_type: 'Följ upp intresset', + mwb_ayf_part2_title: '5. Följ upp intresset', + mwb_ayf_part3: 'ijwyp 90. Tema: Hur kan jag bli mindre negativ? (th lektion 14)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Tal', + mwb_ayf_part3_title: '6. Tal', + mwb_song_middle: 46, + mwb_lc_count: 1, + mwb_lc_part1: 'Vi sjunger för att tacka Jehova', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '7. Vi sjunger för att tacka Jehova', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 18 § 6–15', + mwb_lc_cbs_title: '8. Församlingens bibelstudium', + mwb_song_conclude: 73, + }, + { + mwb_week_date: '2024/11/25', + mwb_week_date_locale: '25 NOVEMBER–1 DECEMBER', + mwb_weekly_bible_reading: 'PSALM 109–112', + mwb_song_first: 14, + mwb_tgw_talk: 'Understöd Jesus, vår kung!', + mwb_tgw_talk_title: '1. Understöd Jesus, vår kung!', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 109:1–26 (th lektion 2)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: 'DÖRR TILL DÖRR. Använd ett vikblad för att starta ett samtal. (lmd lektion 4, punkt 3)', + mwb_ayf_part1_time: 2, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'Demonstration. ijwfq 23. Tema: Varför tar Jehovas vittnen inte del i krig? (lmd lektion 4, punkt 4)', + mwb_ayf_part2_time: 5, + mwb_ayf_part2_type: 'Förklara det du tror på', + mwb_ayf_part2_title: '5. Förklara det du tror på', + mwb_ayf_part3: 'lff lektion 15, punkt 6 och ”En del säger” (lmd lektion 11, punkt 3)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Gör lärjungar', + mwb_ayf_part3_title: '6. Gör lärjungar', + mwb_song_middle: 72, + mwb_lc_count: 1, + mwb_lc_part1: 'Hur kan vi ge Guds rike vårt fulla stöd?', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '7. Hur kan vi ge Guds rike vårt fulla stöd?', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 18 § 16–24', + mwb_lc_cbs_title: '8. Församlingens bibelstudium', + mwb_song_conclude: 75, + }, + { + mwb_week_date: '2024/12/02', + mwb_week_date_locale: '2–8 DECEMBER', + mwb_weekly_bible_reading: 'PSALM 113–118', + mwb_song_first: 127, + mwb_tgw_talk: 'Vad kan vi göra för Jehova?', + mwb_tgw_talk_title: '1. Vad kan vi göra för Jehova?', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 116:1–117:2 (th lektion 2)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 2, + mwb_ayf_part1: 'Resonemang med åhörarna. Spela upp VIDEON, och resonera sedan om lmd lektion 12, punkt 1, 2.', + mwb_ayf_part1_time: 7, + mwb_ayf_part1_type: 'Mod – Så här gjorde Jesus', + mwb_ayf_part1_title: '4. Mod – Så här gjorde Jesus', + mwb_ayf_part2: 'Resonemang med åhörarna grundat på lmd lektion 12, punkt 3–5 och ”Se också”.', + mwb_ayf_part2_time: 8, + mwb_ayf_part2_type: 'Mod – Gör som Jesus', + mwb_ayf_part2_title: '5. Mod – Gör som Jesus', + mwb_song_middle: 60, + mwb_lc_count: 1, + mwb_lc_part1: 'Församlingens behov', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '6. Församlingens behov', + mwb_lc_cbs: 'bt kap. 19 § 1–5, rutorna på s. 149, 150', + mwb_lc_cbs_title: '7. Församlingens bibelstudium', + mwb_song_conclude: 29, + }, + { + mwb_week_date: '2024/12/09', + mwb_week_date_locale: '9–15 DECEMBER', + mwb_weekly_bible_reading: 'PSALM 119:1–56', + mwb_song_first: 124, + mwb_tgw_talk: '”Hur ska den som är ung kunna leva ett rent liv?”', + mwb_tgw_talk_title: '1. ”Hur ska den som är ung kunna leva ett rent liv?”', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 119:1–32 (th lektion 5)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: + 'INFORMELLT VITTNANDE. Börja småprata med någon du möter på gatan medan du går i tjänsten från dörr till dörr. (lmd lektion 1, punkt 4)', + mwb_ayf_part1_time: 3, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'DÖRR TILL DÖRR. Den besökte har i ett tidigare samtal berättat att han eller hon nyligen har förlorat en närstående i döden. (lmd lektion 9, punkt 3)', + mwb_ayf_part2_time: 4, + mwb_ayf_part2_type: 'Följ upp intresset', + mwb_ayf_part2_title: '5. Följ upp intresset', + mwb_ayf_part3: 'ijwyp 83. Tema: Hur kan jag stå emot att göra sådant som är fel? (th lektion 20)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Tal', + mwb_ayf_part3_title: '6. Tal', + mwb_song_middle: 40, + mwb_lc_count: 2, + mwb_lc_part1: 'Vad organisationen uträttar', + mwb_lc_part1_time: 10, + mwb_lc_part1_title: '7. Vad organisationen uträttar', + mwb_lc_part1_content: 'Spela upp VIDEON för december.', + mwb_lc_part2: 'Församlingens behov', + mwb_lc_part2_time: 5, + mwb_lc_part2_title: '8. Församlingens behov', + mwb_lc_cbs: 'bt kap. 19 § 6–13', + mwb_lc_cbs_title: '9. Församlingens bibelstudium', + mwb_song_conclude: 21, + }, + { + mwb_week_date: '2024/12/16', + mwb_week_date_locale: '16–22 DECEMBER', + mwb_weekly_bible_reading: 'PSALM 119:57–120', + mwb_song_first: 129, + mwb_tgw_talk: 'Hur man klarar av prövningar', + mwb_tgw_talk_title: '1. Hur man klarar av prövningar', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 119:57–80 (th lektion 12)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: + 'DÖRR TILL DÖRR. Berätta om vår webbplats, och ge den besökte ett visitkort som hänvisar till jw.org. (lmd lektion 2, punkt 5)', + mwb_ayf_part1_time: 3, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'INFORMELLT VITTNANDE. Bjud in den du pratar med till nästa offentliga föredrag. Använd videon Vad händer på Rikets sal? (lmd lektion 8, punkt 3)', + mwb_ayf_part2_time: 4, + mwb_ayf_part2_type: 'Följ upp intresset', + mwb_ayf_part2_title: '5. Följ upp intresset', + mwb_ayf_part3: 'Demonstration. ijwbq 157. Tema: Vad säger Bibeln om naturkatastrofer? (lmd lektion 3, punkt 3)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Förklara det du tror på', + mwb_ayf_part3_title: '6. Förklara det du tror på', + mwb_song_middle: 128, + mwb_lc_count: 1, + mwb_lc_part1: 'Jehova hjälper oss att hålla ut', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '7. Jehova hjälper oss att hålla ut', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 19 § 14–20, rutan på s. 152', + mwb_lc_cbs_title: '8. Församlingens bibelstudium', + mwb_song_conclude: 32, + }, + { + mwb_week_date: '2024/12/23', + mwb_week_date_locale: '23–29 DECEMBER', + mwb_weekly_bible_reading: 'PSALM 119:121–176', + mwb_song_first: 31, + mwb_tgw_talk: 'Hur man undviker onödiga bekymmer', + mwb_tgw_talk_title: '1. Hur man undviker onödiga bekymmer', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 119:121–152 (th lektion 2)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: 'DÖRR TILL DÖRR. (lmd lektion 1, punkt 5)', + mwb_ayf_part1_time: 3, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'DÖRR TILL DÖRR. Visa den besökte hur han hittar information på jw.org som intresserar honom. (lmd lektion 8, punkt 3)', + mwb_ayf_part2_time: 4, + mwb_ayf_part2_type: 'Följ upp intresset', + mwb_ayf_part2_title: '5. Följ upp intresset', + mwb_ayf_part3: 'Ett samtal med någon du studerar med som inte går regelbundet på mötena. (lmd lektion 12, punkt 4)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Gör lärjungar', + mwb_ayf_part3_title: '6. Gör lärjungar', + mwb_song_middle: 121, + mwb_lc_count: 1, + mwb_lc_part1: 'Låt inte pengar skapa onödiga problem', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '7. Låt inte pengar skapa onödiga problem', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 20 § 1–7 och introduktionen till del 7', + mwb_lc_cbs_title: '8. Församlingens bibelstudium', + mwb_song_conclude: 101, + }, + { + mwb_week_date: '2024/12/30', + mwb_week_date_locale: '30 DECEMBER 2024–5 JANUARI 2025', + mwb_weekly_bible_reading: 'PSALM 120–126', + mwb_song_first: 144, + mwb_tgw_talk: 'De sådde med tårar men skördade med jubel', + mwb_tgw_talk_title: '1. De sådde med tårar men skördade med jubel', + mwb_tgw_gems_title: '2. Andliga guldkorn', + mwb_tgw_bread: 'Ps 124:1–126:6 (th lektion 5)', + mwb_tgw_bread_title: '3. Bibelläsning', + mwb_ayf_count: 3, + mwb_ayf_part1: 'OFFENTLIGT VITTNANDE. (lmd lektion 3, punkt 5)', + mwb_ayf_part1_time: 3, + mwb_ayf_part1_type: 'Starta ett samtal', + mwb_ayf_part1_title: '4. Starta ett samtal', + mwb_ayf_part2: + 'DÖRR TILL DÖRR. Förra gången berättade den besökte att han är osäker på om man kan tro på det som står i Bibeln. (lmd lektion 9, punkt 5)', + mwb_ayf_part2_time: 4, + mwb_ayf_part2_type: 'Följ upp intresset', + mwb_ayf_part2_title: '5. Följ upp intresset', + mwb_ayf_part3: 'lff lektion 16: inledning och punkt 1–3 (lmd lektion 11, punkt 3)', + mwb_ayf_part3_time: 5, + mwb_ayf_part3_type: 'Gör lärjungar', + mwb_ayf_part3_title: '6. Gör lärjungar', + mwb_song_middle: 155, + mwb_lc_count: 1, + mwb_lc_part1: 'Reflektera över Guds löften', + mwb_lc_part1_time: 15, + mwb_lc_part1_title: '7. Reflektera över Guds löften', + mwb_lc_part1_content: 'Resonemang med åhörarna.', + mwb_lc_cbs: 'bt kap. 20 § 8–12, rutan på s. 161', + mwb_lc_cbs_title: '8. Församlingens bibelstudium', + mwb_song_conclude: 58, + }, +]; diff --git a/test/fixtures/w_Z_202411js b/test/fixtures/w_Z_202411js new file mode 100644 index 00000000..859f2355 --- /dev/null +++ b/test/fixtures/w_Z_202411js @@ -0,0 +1,30 @@ +export default [ + { + w_study_date: '2025/01/06', + w_study_date_locale: 'Studieartikel 44: 6–12 januari 2025', + w_study_title: 'Vad kan du göra om du blir orättvist behandlad?', + w_study_opening_song: 33, + w_study_concluding_song: 38, + }, + { + w_study_date: '2025/01/13', + w_study_date_locale: 'Studieartikel 45: 13–19 januari 2025', + w_study_title: 'Vad kan vi lära oss av några trogna mäns avslutande ord?', + w_study_opening_song: 138, + w_study_concluding_song: 129, + }, + { + w_study_date: '2025/01/20', + w_study_date_locale: 'Studieartikel 46: 20–26 januari 2025', + w_study_title: 'Kan du bli församlingstjänare?', + w_study_opening_song: 49, + w_study_concluding_song: 17, + }, + { + w_study_date: '2025/01/27', + w_study_date_locale: 'Studieartikel 47: 27 januari 2025–2 februari 2025', + w_study_title: 'Kan du bli äldste?', + w_study_opening_song: 103, + w_study_concluding_song: 101, + }, +];