Skip to content

Commit

Permalink
feat(module): add support for Russian language
Browse files Browse the repository at this point in the history
  • Loading branch information
rhahao authored Dec 22, 2023
1 parent 7cc65e0 commit 182c6f7
Show file tree
Hide file tree
Showing 8 changed files with 558 additions and 290 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ Japanese
Madagascar Sign Language, Malagasy
Malagasy
Polish, Portuguese Brazil
Russian
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 @@ -11,6 +11,7 @@ import T from '../locales/pt-BR/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';
import U from '../locales/ru-RU/text.json';
import VZ from '../locales/mg-VZ/text.json';
import X from '../locales/de-DE/text.json';

Expand All @@ -21,6 +22,6 @@ declare global {
}

window.jw_epub_parser = {
languages: { E, F, I, J, K, MG, P, T, TND, TNK, TTM, VZ, X },
languages: { E, F, I, J, K, MG, P, T, TND, TNK, TTM, U, VZ, X },
path: path,
};
1 change: 1 addition & 0 deletions src/locales/languages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export default [
{ locale: 'mg-TND', code: 'TND' },
{ locale: 'mg-TNK', code: 'TNK' },
{ locale: 'mg-TTM', code: 'TTM' },
{ locale: 'uk-UA', code: 'U' },
{ locale: 'mg-VZ', code: 'VZ' },
{ locale: 'de-DE', code: 'X' },
];
3 changes: 2 additions & 1 deletion src/node/utils.node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import T from '../locales/pt-BR/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' };
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' };

Expand All @@ -20,7 +21,7 @@ declare global {
}

global.jw_epub_parser = {
languages: { E, F, I, J, K, MG, P, T, TND, TNK, TTM, VZ, X },
languages: { E, F, I, J, K, MG, P, T, 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 @@ -7,6 +7,7 @@
{ "language": "MG", "issue": "202309" },
{ "language": "TND", "issue": "202309" },
{ "language": "TNK", "issue": "202309" },
{ "language": "U", "issue": "202309" },
{ "language": "VZ", "issue": "202309" },
{ "language": "X", "issue": "202309" }
]
258 changes: 258 additions & 0 deletions test/fixtures/mwb_U_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: '4—10 сентября',
mwb_weekly_bible_reading: 'ЭСФИРЬ 1, 2',
mwb_song_first: 137,
mwb_tgw_talk: '«Подражай Эсфири в скромности»',
mwb_tgw_bread: 'Эсф 1:13—22 (th урок 10)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Обсуждение. Покажи видео «Первый разговор. Царство (Мф 6:9, 10)». Когда на экране появится знак паузы, останови видео и задай вопрос слушателям.',
mwb_ayf_part1_time: 5,
mwb_ayf_part1_type: 'Видео первого разговора',
mwb_ayf_part2:
'Используй тему из плана разговоров. Предложи брошюру «Радуйтесь жизни сейчас и вечно!» (th урок 1).',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Первый разговор',
mwb_ayf_part3: 'w20.11 13—14, абз. 3—7. Тема: «Как нам помогают Иисус и ангелы» (th урок 14).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Речь',
mwb_song_middle: 106,
mwb_lc_count: 2,
mwb_lc_part1: '«Что говорят твои сверстники. Внешность»',
mwb_lc_part1_time: 5,
mwb_lc_part1_content:
'Обсуждение. Покажи это видео. Затем спроси слушателей: почему многим трудно уравновешенно относиться к своей внешности?',
mwb_lc_part2: 'Чего достигла наша организация',
mwb_lc_part2_time: 10,
mwb_lc_part2_content: 'Покажи видео «Чего достигла наша организация» (сентябрь).',
mwb_lc_cbs: 'lff урок 56 и Приложения 6, 7',
mwb_song_conclude: 101,
},
{
mwb_week_date: '2023/09/11',
mwb_week_date_locale: '11—17 сентября',
mwb_weekly_bible_reading: 'ЭСФИРЬ 3—5',
mwb_song_first: 85,
mwb_tgw_talk: '«Помогай другим полностью раскрыть их потенциал»',
mwb_tgw_bread: 'Эсф 3:1—12 (th урок 2)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Обсуждение. Покажи видео «Второй разговор. Царство (Мф 14:19, 20)». Когда на экране появится знак паузы, останови видео и задай вопрос слушателям.',
mwb_ayf_part1_time: 5,
mwb_ayf_part1_type: 'Видео второго разговора',
mwb_ayf_part2:
'Используй тему из плана разговоров. Расскажи собеседнику о нашем библейском курсе и дай ему визитную карточку этого курса (th урок 16).',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3: 'lff урок 12, вступление и пункты 1—3 (th урок 15).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Изучение Библии',
mwb_song_middle: 65,
mwb_lc_count: 2,
mwb_lc_part1: '«Смелая, как Эсфирь»',
mwb_lc_part1_time: 5,
mwb_lc_part1_content:
'Обсуждение. Покажи этот мультфильм из рубрики «Стань другом Иеговы». Затем спроси детей, с которыми ты заранее договорился (если они есть в вашем собрании): как ты можешь подражать смелости Эсфири?',
mwb_lc_part2: 'Местные потребности',
mwb_lc_part2_time: 10,
mwb_lc_cbs: 'lff урок 57',
mwb_song_conclude: 125,
},
{
mwb_week_date: '2023/09/18',
mwb_week_date_locale: '18—24 сентября',
mwb_weekly_bible_reading: 'ЭСФИРЬ 6—8',
mwb_song_first: 115,
mwb_tgw_talk: '«Хороший пример того, как общаться с другими»',
mwb_tgw_bread: 'Эсф 8:9—17 (th урок 5)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Используй тему из плана разговоров. Покажи, как преодолеть возражение, распространённое в вашей местности (th урок 3).',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Пригласи человека на встречу собрания. Обрати внимание человека на видео «Что происходит в Зале Царства?» и обсуди его (видео показывать не надо) (th урок 12).',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3:
'w22.01 10—11, абз. 8—10. Тема: «Как Иаков, становитесь умелыми учителями. Учите просто» (th урок 17).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Речь',
mwb_song_middle: 148,
mwb_lc_count: 1,
mwb_lc_part1: '«Полагайся на Иегову, когда сталкиваешься с издевательствами»',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Обсуждение. Покажи видео.',
mwb_lc_cbs: 'lff урок 58',
mwb_song_conclude: 124,
},
{
mwb_week_date: '2023/09/25',
mwb_week_date_locale: '25 сентября — 1 октября',
mwb_weekly_bible_reading: 'ЭСФИРЬ 9, 10',
mwb_song_first: 102,
mwb_tgw_talk: '«Он пользовался властью, чтобы помогать другим»',
mwb_tgw_bread: 'Эсф 9:1—14 (th урок 11)',
mwb_ayf_count: 3,
mwb_ayf_part1: 'Используй тему из плана разговоров (th урок 6).',
mwb_ayf_part1_time: 2,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Предложи брошюру «Радуйтесь жизни сейчас и вечно!» и начни изучение Библии (th урок 13).',
mwb_ayf_part2_time: 5,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3: 'lff урок 12, вступление к разделу «Копните глубже» и пункт 4 (th урок 19).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Изучение Библии',
mwb_song_middle: 117,
mwb_lc_count: 1,
mwb_lc_part1: '«Пастыри, которые трудятся на благо народа Иеговы»',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Обсуждение. Покажи видео.',
mwb_lc_cbs: 'lff урок 59, пункты 1—5',
mwb_song_conclude: 55,
},
{
mwb_week_date: '2023/10/02',
mwb_week_date_locale: '2—8 октября',
mwb_weekly_bible_reading: 'ИОВ 1—3',
mwb_song_first: 141,
mwb_tgw_talk: '«Видно ли по твоей жизни, как сильно ты любишь Иегову?»',
mwb_tgw_bread: 'Иов 3:1—26 (th урок 12)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Используй тему из плана разговоров. Расскажи человеку о нашем сайте и оставь визитную карточку jw.org (th урок 9).',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Обрати внимание человека на видео «Зачем изучать Библию?» и обсуди его (видео показывать не надо) (th урок 20).',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3:
'w22.01 11—12, абз. 11—14. Тема: «Как Иаков, становитесь умелыми учителями. Будьте реалистичными в своих ожиданиях и смиренными» (th урок 18).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Речь',
mwb_song_middle: 21,
mwb_lc_count: 2,
mwb_lc_part1: '«Я считал, что у меня всё прекрасно»',
mwb_lc_part1_time: 10,
mwb_lc_part1_content:
'Обсуждение. Покажи это видео. Затем спроси слушателей: почему брат Бердуэлл считал, что у него „всё прекрасно“?',
mwb_lc_part2: '«Используй в служении главную страницу сайта jw.org»',
mwb_lc_part2_time: 5,
mwb_lc_part2_content: 'Обсуждение.',
mwb_lc_cbs: 'lff урок 59, пункт 6 и рамки «Главная мысль», «Повторение» и «Мои цели»',
mwb_song_conclude: 129,
},
{
mwb_week_date: '2023/10/09',
mwb_week_date_locale: '9—15 октября',
mwb_weekly_bible_reading: 'ИОВ 4, 5',
mwb_song_first: 121,
mwb_tgw_talk: '«Остерегайся лживой информации»',
mwb_tgw_bread: 'Иов 5:1—27 (th урок 10)',
mwb_ayf_count: 3,
mwb_ayf_part1: 'Используй тему из плана разговоров (th урок 4).',
mwb_ayf_part1_time: 2,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Покажи собеседнику, как найти нужную ему информацию на сайте jw.org (th урок 15).',
mwb_ayf_part2_time: 5,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3: 'lff урок 16, пункт 5 (th урок 16).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Изучение Библии',
mwb_song_middle: 78,
mwb_lc_count: 1,
mwb_lc_part1: 'Местные потребности',
mwb_lc_part1_time: 15,
mwb_lc_cbs: 'lff урок 60',
mwb_song_conclude: 38,
},
{
mwb_week_date: '2023/10/16',
mwb_week_date_locale: '16—22 октября',
mwb_weekly_bible_reading: 'ИОВ 6, 7',
mwb_song_first: 33,
mwb_tgw_talk: '«Когда кажется, что жить дальше нет сил»',
mwb_tgw_bread: 'Иов 6:1—21 (th урок 2)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Используй тему из плана разговоров. Покажи, как преодолеть возражение, распространённое в вашей местности (th урок 7).',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Предложи подходящую публикацию из набора инструментов для служения (th урок 11).',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3:
'w22.01 12—13, абз. 15—18. Тема: «Как Иаков, становитесь умелыми учителями. Хорошо подбирайте примеры» (th урок 8).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Речь',
mwb_song_middle: 144,
mwb_lc_count: 1,
mwb_lc_part1: '«Иегова... спасает удручённых»',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Обсуждение. Покажи видео.',
mwb_lc_cbs: 'lff «Раздел 4. Повторение»',
mwb_song_conclude: 143,
},
{
mwb_week_date: '2023/10/23',
mwb_week_date_locale: '23—29 октября',
mwb_weekly_bible_reading: 'ИОВ 8—10',
mwb_song_first: 107,
mwb_tgw_talk: '«Преданная любовь Иеговы защищает нас от лжи Сатаны»',
mwb_tgw_bread: 'Иов 9:20—35 (th урок 11)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Используй тему из плана разговоров. Предложи подходящую публикацию из набора инструментов для служения (th урок 17).',
mwb_ayf_part1_time: 3,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Предложи брошюру «Радуйтесь жизни сейчас и вечно!» и коротко обсуди страницу «Как пользоваться этой брошюрой» (th урок 3).',
mwb_ayf_part2_time: 4,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3: 'lff урок 16, пункт 6 и рамка «Некоторые говорят» (th урок 14).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Изучение Библии',
mwb_song_middle: 109,
mwb_lc_count: 2,
mwb_lc_part1: '«Помогай нерелигиозным людям обрести веру в Творца»',
mwb_lc_part1_time: 10,
mwb_lc_part1_content: 'Обсуждение. Покажи видео.',
mwb_lc_part2: 'Местные потребности',
mwb_lc_part2_time: 5,
mwb_lc_cbs: 'bt «Письмо от Руководящего совета», гл. 1, абз. 1—7',
mwb_song_conclude: 64,
},
{
mwb_week_date: '2023/10/30',
mwb_week_date_locale: '30 октября — 5 ноября',
mwb_weekly_bible_reading: 'ИОВ 11, 12',
mwb_song_first: 87,
mwb_tgw_talk: '«Три способа обрести мудрость»',
mwb_tgw_bread: 'Иов 12:1—25 (th урок 5)',
mwb_ayf_count: 3,
mwb_ayf_part1:
'Используй тему из плана разговоров. Расскажи собеседнику о нашем библейском курсе и оставь ему визитную карточку этого курса (th урок 1).',
mwb_ayf_part1_time: 4,
mwb_ayf_part1_type: 'Первый разговор',
mwb_ayf_part2:
'Используй тему из плана разговоров. Пригласи собеседника на встречу собрания. Покажи видео «Что происходит в Зале Царства?» и обсуди его (видео показывать не надо) (th урок 13).',
mwb_ayf_part2_time: 3,
mwb_ayf_part2_type: 'Второй разговор',
mwb_ayf_part3: 'lff урок 12, рамки «Главная мысль», «Повторение» и «Мои цели» (th урок 19).',
mwb_ayf_part3_time: 5,
mwb_ayf_part3_type: 'Изучение Библии',
mwb_song_middle: 135,
mwb_lc_count: 1,
mwb_lc_part1: '«Родители, помогайте детям обрести мудрость от Бога»',
mwb_lc_part1_time: 15,
mwb_lc_part1_content: 'Обсуждение. Покажи видео.',
mwb_lc_cbs: 'bt гл. 1, абз. 8—15, таблица на с. 12',
mwb_song_conclude: 3,
},
];
Loading

0 comments on commit 182c6f7

Please sign in to comment.