diff --git a/src/util/dictionary.rs b/src/util/dictionary.rs index 789269b..d4d3b79 100644 --- a/src/util/dictionary.rs +++ b/src/util/dictionary.rs @@ -253,46 +253,50 @@ pub(crate) fn entry(lang: Language) -> Entry { }, Language::Ar => Entry { timeago_tokens: ::phf::Map { - key: 2980949210194914378, + key: 14108922650502679131, disps: &[ - (1, 0), - (0, 3), - (2, 26), - (1, 11), - (25, 3), - (9, 5), + (3, 13), + (11, 32), + (0, 0), + (0, 0), + (4, 28), + (0, 1), + (5, 12), ], entries: &[ - ("يوم\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Day) }), - ("ثوان\u{650}", TaToken { n: 1, unit: Some(TimeUnit::Second) }), - ("ساعات", TaToken { n: 1, unit: Some(TimeUnit::Hour) }), - ("دقائق", TaToken { n: 1, unit: Some(TimeUnit::Minute) }), - ("شهرين", TaToken { n: 2, unit: Some(TimeUnit::Month) }), - ("أشهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }), - ("ثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }), - ("ساعة", TaToken { n: 1, unit: Some(TimeUnit::Hour) }), - ("يوم", TaToken { n: 1, unit: Some(TimeUnit::Day) }), - ("ثوان", TaToken { n: 1, unit: Some(TimeUnit::Second) }), - ("دقيقة", TaToken { n: 1, unit: Some(TimeUnit::Minute) }), - ("يومين", TaToken { n: 2, unit: Some(TimeUnit::Day) }), - ("ثانيتين", TaToken { n: 2, unit: Some(TimeUnit::Second) }), - ("أسبوعين", TaToken { n: 2, unit: Some(TimeUnit::Week) }), - ("دقيقتين", TaToken { n: 2, unit: Some(TimeUnit::Minute) }), - ("سنوات", TaToken { n: 1, unit: Some(TimeUnit::Year) }), - ("دقيقتان", TaToken { n: 2, unit: Some(TimeUnit::Minute) }), - ("سنة", TaToken { n: 1, unit: Some(TimeUnit::Year) }), - ("أسابيع", TaToken { n: 1, unit: Some(TimeUnit::Week) }), - ("خلال", TaToken { n: 1, unit: Some(TimeUnit::Month) }), - ("شهر\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Month) }), ("شهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }), ("وثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }), - ("سنتين", TaToken { n: 2, unit: Some(TimeUnit::Year) }), + ("دقيقتان", TaToken { n: 2, unit: Some(TimeUnit::Minute) }), + ("ثوان\u{64d}", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("يوم", TaToken { n: 1, unit: Some(TimeUnit::Day) }), + ("شهر\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Month) }), + ("سنة", TaToken { n: 1, unit: Some(TimeUnit::Year) }), + ("يوم\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Day) }), + ("دقيقة", TaToken { n: 1, unit: Some(TimeUnit::Minute) }), + ("ثوان", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("ثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("ساعات", TaToken { n: 1, unit: Some(TimeUnit::Hour) }), + ("أيام", TaToken { n: 1, unit: Some(TimeUnit::Day) }), ("ساعتين", TaToken { n: 2, unit: Some(TimeUnit::Hour) }), ("أسبوع\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Week) }), - ("أيام", TaToken { n: 1, unit: Some(TimeUnit::Day) }), + ("سنوات", TaToken { n: 1, unit: Some(TimeUnit::Year) }), + ("ساعة", TaToken { n: 1, unit: Some(TimeUnit::Hour) }), + ("ثانيتين", TaToken { n: 2, unit: Some(TimeUnit::Second) }), + ("أسابيع", TaToken { n: 1, unit: Some(TimeUnit::Week) }), + ("أشهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }), ("أسبوع", TaToken { n: 1, unit: Some(TimeUnit::Week) }), - ("ثوان\u{64d}", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("شهرين", TaToken { n: 2, unit: Some(TimeUnit::Month) }), ("وثانيتان", TaToken { n: 2, unit: Some(TimeUnit::Second) }), + ("يومين", TaToken { n: 2, unit: Some(TimeUnit::Day) }), + ("س", TaToken { n: 1, unit: Some(TimeUnit::Hour) }), + ("ث", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("دقيقتين", TaToken { n: 2, unit: Some(TimeUnit::Minute) }), + ("خلال", TaToken { n: 1, unit: Some(TimeUnit::Month) }), + ("ثوان\u{650}", TaToken { n: 1, unit: Some(TimeUnit::Second) }), + ("د", TaToken { n: 1, unit: Some(TimeUnit::Minute) }), + ("سنتين", TaToken { n: 2, unit: Some(TimeUnit::Year) }), + ("أسبوعين", TaToken { n: 2, unit: Some(TimeUnit::Week) }), + ("دقائق", TaToken { n: 1, unit: Some(TimeUnit::Minute) }), ], }, date_order: &[DateCmp::D, DateCmp::M, DateCmp::Y], diff --git a/src/util/timeago.rs b/src/util/timeago.rs index 68a0923..aa9781a 100644 --- a/src/util/timeago.rs +++ b/src/util/timeago.rs @@ -967,6 +967,8 @@ mod tests { #[case(Language::Ar, "19 دقيقة وثانيتان", 1142)] #[case(Language::Ar, "دقيقة و13 ثانية", 73)] #[case(Language::Sw, "dakika 1 na sekunde 13", 73)] + #[case(Language::Ar, "1 س و41 د", 6060)] + #[case(Language::Ar, "4 د و33 ث", 273)] fn t_parse_video_duration2( #[case] lang: Language, #[case] video_duration: &str, diff --git a/testfiles/dict/dictionary.json b/testfiles/dict/dictionary.json index a427158..66d9dea 100644 --- a/testfiles/dict/dictionary.json +++ b/testfiles/dict/dictionary.json @@ -121,6 +121,7 @@ "equivalent": [], "by_char": false, "timeago_tokens": { + "ث": "s", "ثانية": "s", "ثوان": "s", "ثوانٍ": "s", @@ -128,10 +129,12 @@ "وثانية": "s", "ثانيتين": "2s", "وثانيتان": "2s", + "د": "m", "دقائق": "m", "دقيقة": "m", "دقيقتان": "2m", "دقيقتين": "2m", + "س": "h", "ساعات": "h", "ساعة": "h", "ساعتين": "2h",