Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(module): add support for Tagalog language #589

Merged
merged 1 commit into from
Dec 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Malagasy
Polish, Portuguese Brazil
Russian
Spanish
Tandroy, Tankarana
Tagalog, Tandroy, Tankarana
Ukrainian
Vezo
```
Expand Down
3 changes: 2 additions & 1 deletion src/browser/utils.browser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import MG from '../locales/mg-MG/text.json';
import P from '../locales/pl-PL/text.json';
import S from '../locales/es-ES/text.json';
import T from '../locales/pt-BR/text.json';
import TG from '../locales/tl-PH/text.json';
import TND from '../locales/mg-TND/text.json';
import TNK from '../locales/mg-TNK/text.json';
import TTM from '../locales/mg-TTM/text.json';
Expand All @@ -23,6 +24,6 @@ declare global {
}

window.jw_epub_parser = {
languages: { E, F, I, J, K, MG, P, S, T, TND, TNK, TTM, U, VZ, X },
languages: { E, F, I, J, K, MG, P, S, T, TG, TND, TNK, TTM, U, VZ, X },
path: path,
};
4 changes: 3 additions & 1 deletion src/common/parsing_rules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,10 @@ export const extractWTStudyDate = (src: string, lang: string) => {
const patternNumber = '{{ number }}';
const patternDate = '{{ date }}';

src = src.toLowerCase();

outerLoop: for (const variation of variations) {
let textSearch = variation.replace(patternDate, '');
let textSearch = variation.toLowerCase().replace(patternDate, '');
textSearch = textSearch.replace(patternNumber, '\\d+');

const regex = new RegExp(textSearch.trim());
Expand Down
1 change: 1 addition & 0 deletions src/locales/languages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export default [
{ locale: 'pl-PL', code: 'P' },
{ locale: 'es-ES', code: 'S' },
{ locale: 'pt-BR', code: 'T' },
{ locale: 'tl-PH', code: 'TG' },
{ locale: 'mg-TND', code: 'TND' },
{ locale: 'mg-TNK', code: 'TNK' },
{ locale: 'mg-TTM', code: 'TTM' },
Expand Down
3 changes: 2 additions & 1 deletion src/node/utils.node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import MG from '../locales/mg-MG/text.json' assert { type: 'json' };
import P from '../locales/pl-PL/text.json' assert { type: 'json' };
import S from '../locales/es-ES/text.json' assert { type: 'json' };
import T from '../locales/pt-BR/text.json' assert { type: 'json' };
import TG from '../locales/tl-PH/text.json' assert { type: 'json' };
import TND from '../locales/mg-TND/text.json' assert { type: 'json' };
import TNK from '../locales/mg-TNK/text.json' assert { type: 'json' };
import TTM from '../locales/mg-TTM/text.json' assert { type: 'json' };
Expand All @@ -22,7 +23,7 @@ declare global {
}

global.jw_epub_parser = {
languages: { E, F, I, J, K, MG, P, S, T, TND, TNK, TTM, U, VZ, X },
languages: { E, F, I, J, K, MG, P, S, T, TG, TND, TNK, TTM, U, VZ, X },
path: path,
readFile: readFile,
};
1 change: 1 addition & 0 deletions test/enhancedParsing/list.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
{ "language": "K", "issue": "202309" },
{ "language": "MG", "issue": "202309" },
{ "language": "S", "issue": "202309" },
{ "language": "TG", "issue": "202309" },
{ "language": "TND", "issue": "202309" },
{ "language": "TNK", "issue": "202309" },
{ "language": "U", "issue": "202309" },
Expand Down
258 changes: 258 additions & 0 deletions test/fixtures/mwb_TG_202309.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
export default [
{
mwb_week_date: '2023/09/04',
mwb_week_date_locale: 'Setyembre 4-10',
mwb_weekly_bible_reading: 'ESTHER 1-2',
mwb_song_first: 137,
mwb_tgw_talk: '“Sikaping Maging Mapagpakumbaba Gaya ni Esther”',
mwb_tgw_bread: 'Es 1:​13-22 (th aralin 10)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Pagtalakay. I-play ang video na Unang Pag-uusap: Kaharian—Mat 6:​9, 10. I-stop ang video sa bawat pause. Pagkatapos, itanong sa mga tagapakinig ang mga tanong na nasa video.',
mwb_ayf_part1_time: 5,
mwb_ayf_part1_type: 'Video ng Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Ialok ang brosyur na Masayang Buhay Magpakailanman. (th aralin 1)',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Unang Pag-uusap',
mwb_ayf_part3: 'w20.11 12-14 ¶3-7—Tema: Tulong Mula kay Jesus at sa mga Anghel. (th aralin 14)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pahayag',
mwb_song_middle: 106,
mwb_lc_count: 2,
mwb_lc_part1: 'Ang Sinasabi ng Ibang Kabataan—Body Image',
mwb_lc_part1_time: 5,
mwb_lc_part1_content:
'Pagtalakay. I-play ang video. Itanong sa mga tagapakinig: Bakit mahirap magkaroon ng tamang pananaw sa hitsura natin?',
mwb_lc_part2: 'Mga Nagawa ng Organisasyon',
mwb_lc_part2_time: 10,
mwb_lc_part2_content: 'I-play ang video na Mga Nagawa ng Organisasyon para sa Setyembre.',
mwb_lc_cbs: 'lff aralin 56 at Karagdagang Impormasyon 6 at 7',
mwb_song_conclude: 101,
},
{
mwb_week_date: '2023/09/11',
mwb_week_date_locale: 'Setyembre 11-17',
mwb_weekly_bible_reading: 'ESTHER 3-5',
mwb_song_first: 85,
mwb_tgw_talk: '“Tulungan ang Iba na Maabot ang Buong Potensiyal Nila”',
mwb_tgw_bread: 'Es 3:​1-12 (th aralin 2)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Pagtalakay. I-play ang video na Pagdalaw-Muli: Kaharian—Mat 14:​19, 20. I-stop ang video sa bawat pause. Pagkatapos, itanong sa mga tagapakinig ang mga tanong na nasa video.',
mwb_ayf_part1_time: 5,
mwb_ayf_part1_type: 'Video ng Pagdalaw-Muli',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Sabihin sa kausap ang tungkol sa iniaalok nating pag-aaral sa Bibliya, at mag-iwan ng Bible study contact card. (th aralin 16)',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3: 'lff aralin 12: intro at #1-3 (th aralin 15)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pag-aaral sa Bibliya',
mwb_song_middle: 65,
mwb_lc_count: 2,
mwb_lc_part1: 'Maging Kaibigan ni Jehova—Matapang si Esther',
mwb_lc_part1_time: 5,
mwb_lc_part1_content:
'Pagtalakay. I-play ang video. Kung posible, tanungin ang mga napiling bata: Paano ninyo matutularan ang pagiging matapang ni Esther?',
mwb_lc_part2: 'Lokal na Pangangailangan',
mwb_lc_part2_time: 10,
mwb_lc_cbs: 'lff aralin 57',
mwb_song_conclude: 125,
},
{
mwb_week_date: '2023/09/18',
mwb_week_date_locale: 'Setyembre 18-24',
mwb_weekly_bible_reading: 'ESTHER 6-8',
mwb_song_first: 115,
mwb_tgw_talk: '“Aral Tungkol sa Tamang Pakikipag-usap”',
mwb_tgw_bread: 'Es 8:​9-17 (th aralin 5)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Sagutin ang isang karaniwang pagtutol. (th aralin 3)',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Anyayahan ang kausap na dumalo sa pulong, at ipakita at talakayin (pero huwag i-play) ang video na Ano’ng Mayroon sa Kingdom Hall? (th aralin 12)',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3:
'w22.01 10-11 ¶8-10—Tema: Maging Epektibong Tagapagturo Gaya ni Santiago—Gawing Simple ang Mensahe Mo. (th aralin 17)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pahayag',
mwb_song_middle: 148,
mwb_lc_count: 1,
mwb_lc_part1: '“Umasa kay Jehova Kapag Binu-bully”',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Pagtalakay at video.',
mwb_lc_cbs: 'lff aralin 58',
mwb_song_conclude: 124,
},
{
mwb_week_date: '2023/09/25',
mwb_week_date_locale: 'Setyembre 25–Oktubre 1',
mwb_weekly_bible_reading: 'ESTHER 9-10',
mwb_song_first: 102,
mwb_tgw_talk: '“Ginamit Niya ang Awtoridad Niya Para sa Iba”',
mwb_tgw_bread: 'Es 9:​1-14 (th aralin 11)',
mwb_ayf_count: 3,
mwb_ayf_part1: 'Gamitin ang paksa ng sampol na pakikipag-usap. (th aralin 6)',
mwb_ayf_part1_time: 2,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Ialok ang brosyur na Masayang Buhay Magpakailanman, at ipakita kung paano ginagawa ang pag-aaral sa Bibliya. (th aralin 13)',
mwb_ayf_part2_time: 5,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3: 'lff aralin 12: introduksiyon ng Pag-aralan at #4 (th aralin 19)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pag-aaral sa Bibliya',
mwb_song_middle: 117,
mwb_lc_count: 1,
mwb_lc_part1: '“Mga Pastol na Ginagawa ang Makakabuti sa Bayan ni Jehova”',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Pagtalakay at video.',
mwb_lc_cbs: 'lff aralin 59: #1-5',
mwb_song_conclude: 55,
},
{
mwb_week_date: '2023/10/02',
mwb_week_date_locale: 'Oktubre 2-8',
mwb_weekly_bible_reading: 'JOB 1-3',
mwb_song_first: 141,
mwb_tgw_talk: '“Patuloy na Ipakita Kung Gaano Mo Kamahal si Jehova”',
mwb_tgw_bread: 'Job 3:​1-26 (th aralin 12)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Sabihin sa kausap ang tungkol sa website natin, at mag-iwan ng jw.org contact card. (th aralin 9)',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Ipakita at talakayin (pero huwag i-play) ang video na Bakit Magandang Mag-aral ng Bibliya?​—Maikling Bersiyon. (th aralin 20)',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3:
'w22.01 11-12 ¶11-14—Tema: Maging Epektibong Tagapagturo Gaya ni Santiago—Maging Realistiko at Mapagpakumbaba. (th aralin 18)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pahayag',
mwb_song_middle: 21,
mwb_lc_count: 2,
mwb_lc_part1: 'Akala Ko Nasa Akin Na ang Lahat',
mwb_lc_part1_time: 10,
mwb_lc_part1_content:
'Pagtalakay. I-play ang video. Itanong sa mga tagapakinig: Bakit nasabi ni Brother Birdwell na ‘nasa kaniya na ang lahat’?',
mwb_lc_part2: '“Gamitin ang JW.ORG Home Page sa Iyong Ministeryo”',
mwb_lc_part2_time: 5,
mwb_lc_part2_content: 'Pagtalakay.',
mwb_lc_cbs: 'lff aralin 59: #6, Sumaryo, Ano ang Natutuhan Mo?, at Subukan Ito',
mwb_song_conclude: 129,
},
{
mwb_week_date: '2023/10/09',
mwb_week_date_locale: 'Oktubre 9-15',
mwb_weekly_bible_reading: 'JOB 4-5',
mwb_song_first: 121,
mwb_tgw_talk: '“Mag-ingat sa Maling Impormasyon”',
mwb_tgw_bread: 'Job 5:​1-27 (th aralin 10)',
mwb_ayf_count: 3,
mwb_ayf_part1: 'Gamitin ang paksa ng sampol na pakikipag-usap. (th aralin 4)',
mwb_ayf_part1_time: 2,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Ipakita sa kausap kung paano makakahanap ng impormasyon sa jw.org. (th aralin 15)',
mwb_ayf_part2_time: 5,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3: 'lff aralin 16: #5 (th aralin 16)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pag-aaral sa Bibliya',
mwb_song_middle: 78,
mwb_lc_count: 1,
mwb_lc_part1: 'Lokal na Pangangailangan',
mwb_lc_part1_time: 15,
mwb_lc_cbs: 'lff aralin 60',
mwb_song_conclude: 38,
},
{
mwb_week_date: '2023/10/16',
mwb_week_date_locale: 'Oktubre 16-22',
mwb_weekly_bible_reading: 'JOB 6-7',
mwb_song_first: 33,
mwb_tgw_talk: '“Kapag Parang Hindi Mo Na Kaya”',
mwb_tgw_bread: 'Job 6:​1-21 (th aralin 2)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Sagutin ang isang karaniwang pagtutol. (th aralin 7)',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Mag-alok ng publikasyon mula sa Toolbox sa Pagtuturo. (th aralin 11)',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3:
'w22.01 12-13 ¶15-18—Tema: Maging Epektibong Tagapagturo Gaya ni Santiago—Gumamit ng mga Epektibong Ilustrasyon. (th aralin 8)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pahayag',
mwb_song_middle: 144,
mwb_lc_count: 1,
mwb_lc_part1: '“Inililigtas ni Jehova ang mga Nasisiraan ng Loob”',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Pagtalakay at video.',
mwb_lc_cbs: 'lff review ng seksiyon 4',
mwb_song_conclude: 143,
},
{
mwb_week_date: '2023/10/23',
mwb_week_date_locale: 'Oktubre 23-29',
mwb_weekly_bible_reading: 'JOB 8-10',
mwb_song_first: 107,
mwb_tgw_talk: '“Proteksiyon Laban sa mga Kasinungalingan ni Satanas ang Tapat na Pag-ibig ng Diyos”',
mwb_tgw_bread: 'Job 9:​20-35 (th aralin 11)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Mag-alok ng publikasyon mula sa Toolbox sa Pagtuturo. (th aralin 17)',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Ialok ang brosyur na Masayang Buhay Magpakailanman, at talakayin sa maikli ang “Kung Paano Ka Makikinabang sa mga Araling Ito sa Bibliya.” (th aralin 3)',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3: 'lff aralin 16: #6 at May Nagsasabi (th aralin 14)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pag-aaral sa Bibliya',
mwb_song_middle: 109,
mwb_lc_count: 2,
mwb_lc_part1: '“Tulungan ang mga Di-relihiyoso na Makilala ang Maylalang”',
mwb_lc_part1_time: 10,
mwb_lc_part1_content: 'Pagtalakay at video.',
mwb_lc_part2: 'Lokal na Pangangailangan',
mwb_lc_part2_time: 5,
mwb_lc_cbs: 'bt “Liham Mula sa Lupong Tagapamahala” at kab. 1 ¶1-7',
mwb_song_conclude: 64,
},
{
mwb_week_date: '2023/10/30',
mwb_week_date_locale: 'Oktubre 30–Nobyembre 5',
mwb_weekly_bible_reading: 'JOB 11-12',
mwb_song_first: 87,
mwb_tgw_talk: '“Tatlong Paraan Para Magkaroon ng Karunungan at Makinabang Dito”',
mwb_tgw_bread: 'Job 12:​1-25 (th aralin 5)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Sabihin sa kausap ang tungkol sa iniaalok nating pag-aaral sa Bibliya, at mag-iwan ng Bible study contact card. (th aralin 1)',
mwb_ayf_part1_time: 4,
mwb_ayf_part1_type: 'Unang Pag-uusap',
mwb_ayf_part2:
'Magsimula gamit ang paksa ng sampol na pakikipag-usap. Anyayahan ang kausap na dumalo sa pulong. Pagkatapos, ipakita at talakayin (pero huwag i-play) ang video na Ano’ng Mayroon sa Kingdom Hall? (th aralin 13)',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Pagdalaw-Muli',
mwb_ayf_part3: 'lff aralin 12: Sumaryo, Ano ang Natutuhan Mo?, at Subukan Ito (th aralin 19)',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Pag-aaral sa Bibliya',
mwb_song_middle: 135,
mwb_lc_count: 1,
mwb_lc_part1: '“Mga Magulang—Tulungan ang mga Anak na Magkaroon ng Makadiyos na Karunungan”',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Pagtalakay at video.',
mwb_lc_cbs: 'bt kab. 1 ¶8-15, kahon sa p. 12',
mwb_song_conclude: 3,
},
];
37 changes: 37 additions & 0 deletions test/fixtures/w_TG_202309.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
export default [
{
w_study_date: '2023/11/06',
w_study_date_locale: 'Araling Artikulo 37: Nobyembre 6-12, 2023',
w_study_title: 'Umasa kay Jehova Gaya ni Samson',
w_study_opening_song: 30,
w_study_concluding_song: 3,
},
{
w_study_date: '2023/11/13',
w_study_date_locale: 'Araling Artikulo 38: Nobyembre 13-19, 2023',
w_study_title: 'Mga Kabataan—Anong Buhay ang Gusto Ninyo?',
w_study_opening_song: 135,
w_study_concluding_song: 144,
},
{
w_study_date: '2023/11/20',
w_study_date_locale: 'Araling Artikulo 39: Nobyembre 20-26, 2023',
w_study_title: 'Hindi Kahinaan ang Pagiging Mahinahon!',
w_study_opening_song: 120,
w_study_concluding_song: 88,
},
{
w_study_date: '2023/11/27',
w_study_date_locale: 'Araling Artikulo 40: Nobyembre 27, 2023–Disyembre 3, 2023',
w_study_title: 'Gaya ni Pedro, Huwag Sumuko',
w_study_opening_song: 38,
w_study_concluding_song: 126,
},
{
w_study_date: '2023/12/04',
w_study_date_locale: 'Araling Artikulo 41: Disyembre 4-10, 2023',
w_study_title: 'Mga Aral sa Dalawang Liham ni Pedro',
w_study_opening_song: 127,
w_study_concluding_song: 109,
},
];